مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

محمد قاری

عضویت از 1395/02/07

مشکل در Validation property

  • پنجشنبه 27 آبان 1395
  • 23:21
تشکر میکنم

سلام من در چند جا از برنامم از validation  dataType  استفاده کردم ولی هیچ کدوم تو هیچ جای برنامه کار نمبکنن

ممنون میشم کمکم کنیدکه مشکل حل بشه

پاسخ های این پرسش

تعداد پاسخ ها : 7 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 28 آبان 1395
  • 09:09

به احتمال زیاد رفرنس های Jquery Validation در صفحه وجود ندارد

کاربر سایت

محمد قاری

عضویت از 1395/02/07

  • جمعه 28 آبان 1395
  • 14:07

پس باید سمت سرور با ModelState.IsValid مشخص بشه دیگه ؟

تو اونجا هم ارور نمیده بقیه Validation ها رو می سنجه ولی DataType رو نمیسنجه

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 28 آبان 1395
  • 14:20

کد کامل مدل و ویو را قرار دهید

کاربر سایت

محمد قاری

عضویت از 1395/02/07

  • جمعه 28 آبان 1395
  • 14:41

مدل

[ScaffoldColumn(false)]
        [Bindable(false)]
        public int Id { get; set; }
        
        [Required(ErrorMessage = "نام و نام خانوادگی خود را وارد کنید", AllowEmptyStrings = false)]
        [DisplayName("نام و نام خانوادگی")]
        [Display(Name = "نام و نام خانوادگی")]
        [StringLength(50, ErrorMessage = "این فیلد باید حداکثر 50 کاراکتر باشد")]
        public string Name { get; set; }

        [Required(ErrorMessage = "ایمیل خود را وارد کنید")]
        [Display(Name = "ایمیل (نام کاربری)")]
        [DisplayName("ایمیل (نام کاربری)")]
        [RegularExpression(@"^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(\.[A-Za-z]{2,4})$", ErrorMessage = "ایمیل را بدرستی وارد کنید")]
        [StringLength(50, ErrorMessage = "این فیلد باید حداکثر 50 کاراکتر باشد")]
        public string Username { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "رمز عبور خود را وارد کنید")]
        [DisplayName("رمز عبور")]
        [Display(Name = "رمز عبور")]
        [DataType(DataType.Password)]
        public string Password { get; set; }

        [Display(Name = "تاریخ تولد")]
        [DisplayName("تاریخ تولد")]
        [DataType(DataType.DateTime,ErrorMessage="فرمت تاریخ اشتباه است")]
        public Nullable<System.DateTime> BirthDate { get; set; }

        [DisplayName("شماره موبایل")]
        [Display(Name = "شماره موبایل")]
        [RegularExpression(@"(\+98|0)?9\d{9}$", ErrorMessage = "شماره موبایل را بدرستی وارد کنید")]
        [StringLength(50, ErrorMessage = "این فیلد باید حداکثر 50 کاراکتر باشد")]
        public string Mobile { get; set; }

        [Display(Name = "شماره تماس")]
        [DisplayName("شماره تماس")]
        [StringLength(50, ErrorMessage = "این فیلد باید حداکثر 50 کاراکتر باشد")]

        public string Tell { get; set; }

        [DisplayName("جنسیت")]
        [Display(Name = "جنسیت")]
        public bool Gender { get; set; }

        [ScaffoldColumn(false)]
        [DisplayName("وضعیت")]
        [Display(Name = "وضعیت")]
        public byte Status { get; set; }
        [ScaffoldColumn(false)]
        [DisplayName("دسترسی")]
        [Display(Name = "دسترسی")]
        public byte Access { get; set; }

ویو

@model EBtekarDl.Models.DomainModels.User

@{
    ViewBag.Title = "ثبت نام";
    Layout = "~/Views/Shared/_LayoutHome.cshtml";
}

<h2>SingUp</h2>

@using (Ajax.BeginForm(new AjaxOptions {Url="/auth/singup",HttpMethod="Post" }))
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)


    <div class="form-group">

        @Html.LabelFor(model => model.Name, new { @for = "exampleInputEmail1" })

        @Html.TextBoxFor(model => model.Name, new { @class = "form-control", placeholder = "نام" })

        @Html.ValidationMessageFor(model => model.Name)

    </div>
    <div class="form-group">

        @Html.LabelFor(model => model.Username, new { @for = "exampleInputEmail1" })

        @Html.TextBoxFor(model => model.Username, new { @class = "form-control", placeholder = "E-mail" })
        @Html.ValidationMessageFor(model => model.Username)



    </div>
    <div class="form-group">

        @Html.LabelFor(model => model.Password, new { @for = "exampleInputEmail1" })

        @Html.PasswordFor(model => model.Password, new { @class = "form-control", placeholder = "پسورد" })
        @Html.ValidationMessageFor(model => model.Password)

        @Html.LabelFor(model => model.ConfirmPassword, new { @for = "exampleInputEmail1" })

        @Html.PasswordFor(model => model.ConfirmPassword, new { @class = "form-control", placeholder = "پسورد" })
        @Html.ValidationMessageFor(model => model.ConfirmPassword)

    </div>
    <div class="form-group">

        @Html.LabelFor(model => model.BirthDate, new { @for = "exampleInputEmail1" })

        @Html.TextBoxFor(model => model.BirthDate, new { @class = "form-control", placeholder = "تاریخ تولد" })
        @Html.ValidationMessageFor(model => model.BirthDate)

    </div>
    <div class="form-group">

        @Html.LabelFor(model => model.Mobile, new { @for = "exampleInputEmail1" })

        @Html.TextBoxFor(model => model.Mobile, new { @class = "form-control", placeholder = "موبایل" })
        @Html.ValidationMessageFor(model => model.Mobile)

    </div>
    <div class="form-group">
        <div class="editor-label">
            @Html.LabelFor(model => model.Tell, new { @for = "exampleInputEmail1" })
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.Tell, new { @class = "form-control", placeholder = "تلفن" })
            @Html.ValidationMessageFor(model => model.Tell)
        </div>
    </div>
    <div class="form-group">

        @Html.LabelFor(model => model.Gender, new { @for = "exampleInputEmail1" })

        <select name="Gender">
            <option value="true">مرد</option>
            <option value="false">زن</option>
        </select>
       
    </div>

    <p>
        <input type="submit" value="ثبت نام" class="btn btn-default" />
    </p>

}

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 28 آبان 1395
  • 15:07

رفرنس های Jquery در Layout هستند

تعریفش درست هستند ؟

بدون اونها کار نخواهند کرد

کاربر سایت

محمد قاری

عضویت از 1395/02/07

  • جمعه 28 آبان 1395
  • 17:43
بله درست هستند
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 29 آبان 1395
  • 10:10

شما از Ajax استفاده کردید

کد زیر را در button قرار دهید

onclick="$.validator.unobtrusive.parse($('form'));"

کد کامل

  <input type="submit" value="ثبت نام" class="btn btn-success pull-left" onclick="$.validator.unobtrusive.parse($('form'));" />

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)