Tag: jquery validate

MVC3比较属性和嵌套对象属性

我有以下内容: public class Address { public string Email { get; set; } } public class CheckoutViewModel { public Address Address { get; set; } [Compare(“Address.Email”, ErrorMessage = “The email addresses you entered do not match”)] public string ConfirmEmailAddress { get; set; } } 使用客户端JS,这可以正确地处理和validation。 但是,在没有启用Javascript的情况下进行测试时,表单会回发,但ModelState错误会显示: 找不到名为Address.Email的属性。 有关为什么在客户端而不是服务器上工作的任何想法? 这种情况下的解决方案是什么? 非常感谢。

asp.net mvc客户端validation不起作用?

出于某种原因,我的客户端validation似乎不起作用: 这是我的HTML: @using (Html.BeginForm(“Create”, “Home”, FormMethod.Post)) { @Html.ValidationSummary(true) Select Client_ID: @foreach (var item in Model.ClientId) { @item } @Html.LabelFor(model => model.UserModel.name) @Html.EditorFor(model => model.UserModel.name) @Html.ValidationMessageFor(model => model.UserModel.name) @Html.LabelFor(model => model.UserModel.password) @**@ @Html.EditorFor(model => model.UserModel.password) @Html.ValidationMessageFor(model => model.UserModel.password) @Html.LabelFor(model => model.UserModel.email) @**@ @Html.EditorFor(model => model.UserModel.email) @Html.ValidationMessageFor(model => model.UserModel.email) Select: Company End-User 这是我的模型: public class CreateUserModel { […]

将多个属性的组validation消息一起组成一个消息asp.net mvc

我有一个视图模型,其中包含某人出生日期的年/月/日属性。 所有这些字段都是必需的。 现在,如果有人在出生日期没有输入任何内容,则会收到3条单独的错误消息。 我想要做的是以某种方式将这些错误消息组合成一条消息,该消息只是说“出生日期是必需的”。 因此,如果这些字段中的一个或多个是空白的,它们将始终只获得1个validation消息。 我需要通过jqueryvalidation和不引人注意的validation来处理客户端validation。 我知道通过查看这个问题可以使用jquery validate插件。 但是我不知道如何使用我的模型上的validation属性和不显眼的validation来实现asp.net mvc。 希望有一些内置的方法可以将属性分组以进行validation,但如果没有,可以使用自定义validation属性吗? 这是我现有的模型和视图的样子: 该模型: public class MyModel { [Required(ErrorMessage = “Year is required”)] public int Year { get; set; } [Required(ErrorMessage = “Month is required”)] public int Month { get; set; } [Required(ErrorMessage = “Day is required”)] public int Day { get; set; } } 风景: […]

使用无效变量名称的jQueryvalidation远程:如何修复?

我正在使用jQuery Validation进行远程validation。 我试图在MVC中调用我的服务器端代码,但问题是我的变量是在嵌套类中: public class Customer { public State HouseState {get;set;} } public class State { public string Name {get;set;} } 在我的* .cshtml中我有这个: @Html.TextBoxFor(m => m.HouseState.Name, new { placeholder = “State Name”}) 我正在添加validation: $.validator.addMethod(“verify”, verify); $(‘#HouseState_Name’).rules(‘add’, { verify: true, remote: ‘@Url.Content(“~/Home/Validate”)’, messages: { verify: “No!” } }); 在这种情况下,它将生成如下的GET请求: http://localhost/Home/Validate?HouseState.Name=CA 问题是它希望我的服务器中的变量是House.Name是C#中无效的变量名。 有没有办法在客户端中自定义此变量或为服务器中的变量创建别名? 我已经尝试过使用FormCollection并且它有效,但远非完美。 public JsonResult Validate(FormCollection […]

电话号码validationMVC

我正在尝试使用正则表达式来validation电话号码,并在提交无效的号码或电话号码时返回错误。 MVC代码 : Phone Number: @Html.TextBoxFor(model => model.PhoneNumber, new { @class = “textbox” }) @Html.ValidationMessageFor(model => model.PhoneNumber) C#代码 : [DataType(DataType.PhoneNumber)] [Display(Name = “Phone Number”)] [Required(ErrorMessage = “Phone Number Required!”)] [RegularExpression(@”^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$”, ErrorMessage = “Entered phone format is not valid.”)] public string PhoneNumber { get; set; } 但是,输入框不会向用户显示消息,表明提交的电话号码无效。