我想用3個選擇器中的RemoteValidation/jQuery驗證出生日期。我想檢查用戶是否年滿18歲。但atm我有一些麻煩,他們分組,使他們無效/一起有效,只有一個錯誤消息。具有遠程驗證MVC 3的jQuery驗證組
目標:我想要驗證所有3個元素作爲一個組(jquery驗證器組)與相同的RemoteValidation當你改變任何人。
任何人都知道如何解決這個問題?
查看:
@Html.DropDownListFor(m => m.BirthYear, Model.BirthYearList)
@Html.DropDownListFor(m => m.BirthMonth, Model.BirthMonthList)
@Html.DropDownListFor(m => m.BirthDay, Model.BirthDayList)
型號
[Remote("IsValidCustomerBirthDate", "JsonValidation", AdditionalFields = "BirthDay, BirthMonth", ErrorMessageResourceName = "InvalidCustomerBirthDate", ErrorMessageResourceType = typeof(Error))]
[Required]
public int BirthYear { get; set; }
[Remote("IsValidCustomerBirthDate", "JsonValidation", AdditionalFields = "BirthYear, BirthDay", ErrorMessageResourceName = "InvalidCustomerBirthDate", ErrorMessageResourceType = typeof(Error))]
[Required]
public int BirthMonth { get; set; }
[Remote("IsValidCustomerBirthDate", "JsonValidation", AdditionalFields = "BirthYear, BirthMonth", ErrorMessageResourceName = "InvalidCustomerBirthDate", ErrorMessageResourceType = typeof(Error))]
[Required]
public int BirthDay { get; set; }
RemoteValidation功能
[HttpGet]
public JsonResult IsValidCustomerBirthDate(int birthYear, int birthMonth, int birthDay)
{
try
{
var dateOfBirth = new DateTime(birthYear, birthMonth, birthDay);
var ageCalculator = new AgeCalculator();
if (ageCalculator.GetAge(dateOfBirth) >= AgeLimit)
{
return Json(true, JsonRequestBehavior.AllowGet);
}
}
catch (ArgumentException)
{
}
return Json(false, JsonRequestBehavior.AllowGet);
}
我一直在驗證與組掙扎一些(),但沒有得到任何地方。
感謝您的任何輸入。 (我是一名前端開發人員,所以如果C#代碼複雜,請更具啓發性)。
親切的問候/馬格努斯