نمایش نتایج 1 تا 2 از 2

نام تاپیک: عدم اجرا Validation در view

  1. #1

    عدم اجرا Validation در view

    سلام
    من کلاس و کنترلر و view زیر را نوشته ام

    using System.ComponentModel.DataAnnotations;


    namespace ErrorClient.Models
    {
    public class Login
    {
    public int Id { get; set; }
    [Required(ErrorMessage = "number is Required...")]
    [RegularExpression("^[0-9]{5}$", ErrorMessage = "Not number")]
    public string User { get; set; }


    [Required(ErrorMessage = "string is Required...")]
    [RegularExpression("^[a-z]{5}$", ErrorMessage = "Not string")]
    public string Pass { get; set; }
    }
    }


    public ActionResult Create()
    {
    return View();
    }




    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "Id,User,Pass")] Login login)
    {
    if (ModelState.IsValid)
    {
    db.Logins.Add(login);
    db.SaveChanges();
    return RedirectToAction("Index");
    }


    return View(login);
    }


    @model ErrorClient.Models.Login


    @{
    ViewBag.Title = "Create";
    }
    @section ValidateCss
    {
    <link href="~/Content/jquery.validate.css" rel="stylesheet" />
    }


    @section ValidateJquery
    {
    <script src="~/Scripts/jquery.validatevalidateError.js"></script>
    <script>
    $(function () {
    $("#myform").validate();
    });
    </script>
    }
    <h2>Create</h2>




    @using (Html.BeginForm("Index", "Logins", FormMethod.Post, new { id = "myform" }))
    {
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
    <h4>Login</h4>
    <hr />
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <div class="form-group">
    @Html.LabelFor(model => model.User, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
    @Html.EditorFor(model => model.User, new { htmlAttributes = new { @class = "form-control" } })
    @Html.ValidationMessageFor(model => model.User, "", new { @class = "text-danger" })
    </div>
    </div>


    <div class="form-group">
    @Html.LabelFor(model => model.Pass, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
    @Html.EditorFor(model => model.Pass, new { htmlAttributes = new { @class = "form-control" } })
    @Html.ValidationMessageFor(model => model.Pass, "", new { @class = "text-danger" })
    </div>
    </div>


    <div class="form-group">
    <div class="col-md-offset-2 col-md-10">
    <input type="submit" value="Create" class="btn btn-default" />
    </div>
    </div>
    </div>
    }


    <div>
    @Html.ActionLink("Back to List", "Index")
    </div>






    اما Validation سمت سرور کار نمی کند
    اما وقتی خط

    @using (Html.BeginForm("Index", "Logins", FormMethod.Post, new { id = "myform" }))

    را به تبدیل به کد زیر میکنم

    @using (Html.BeginForm())

    Validation سمت سرور کار می کند
    برای حل این مشکل باید چکار کنم
    باتشکر

  2. #2
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: عدم اجرا Validation در view

    فکر کنم مشکل از ID دادن به فرم تون است.
    این رو:
    @using (Html.BeginForm("Index", "Logins", FormMethod.Post, new { id = "myform" }))



    تبدیل کنید به:
    @using (Html.BeginForm("Index", "Logins", FormMethod.Post, new {  }))



    و نتیجه رو اعلام کنید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •