asp.net 4.5 webforms模型绑定:是否支持客户端验证?

asp.net 4.5 webforms模型绑定:是否支持客户端验证?,asp.net,webforms,data-annotations,model-binding,client-side-validation,Asp.net,Webforms,Data Annotations,Model Binding,Client Side Validation,我非常喜欢使用数据注释的asp.NET4.5WebForms模型绑定 ascx: 型号: public class Contact { [Required] [StringLength(10, ErrorMessage="{1} tis te lang")] public string Firstname { get; set; } [Required] [StringLength(10)]

我非常喜欢使用数据注释的asp.NET4.5WebForms模型绑定

ascx:

型号:

    public class Contact
    {
        [Required]
        [StringLength(10, ErrorMessage="{1} tis te lang")]   
        public string Firstname { get; set; }

        [Required]
        [StringLength(10)]
        public string Lastname { get; set; }

        [Required]
        [EmailAddress]       
        public string Email { get; set; }

    }
问题:

webforms是否像MVC一样支持开箱即用的客户端验证? 或者我们应该依赖第三方库(DAValidation)。是否可以将Html.EnableClientValidation()的优点移植到webforms

问候,


Bart

正如我们在ASP.NET WebForms项目中发现的那样,在客户端验证中没有对模型的验证属性进行全面有用的重用

例如,联系人数据模型,具有名称、电子邮件、生日等各种属性。。。不总是以同样的方式使用。有时它可能有一些必填字段,有时没有,甚至所需的输入数据在应用程序中的不同点也可能不同

因此,在我们的项目中,我们使用客户端验证实现和模型属性

我们采用的总体思路是:

  • 在客户端,我们希望尽可能具体,避免不必要的回发,并为用户提供即时、具体的响应
  • 在服务器端,我们应用模型属性加上更多的数据库和面向业务的验证规则,并没有特别失败。此外,如果需要,当某些字段相互依赖时,会进行一些“属性间”验证
对于客户端,我们选择了jQuery验证插件()


我们甚至构建了自己的一组控件(源自内置的WebControl),用于呈现各种(甚至一些自定义)数据规则。

Guys webforms具有完整的客户端验证,只需在模型中指定一次,这就是模型绑定和数据注释的全部要点。请检查以下链接。 简而言之,将以下引用添加到模型类库项目中。
使用System.ComponentModel.DataAnnotations

将此行添加到web.config

<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms"/>


这是微软完整文档的链接

我想你必须使用不引人注目的验证请看这里:嗨,山姆,目前根本没有客户验证(不引人注目或不引人注目)。上述链接使用ascx中requiredfieldvalidator/regularexpression验证器。我希望避免在两个位置指定验证规则(数据注释模型+ascx)。客户端验证应该在模型上指定的注释的右边生成。不,数据批注属性的客户端验证不可用(但可用于具有
DynamicValidator
的服务器端)。您可以编写自己的验证器,也可以使用我刚才编写的验证器。伙计们,webforms有完整的客户端验证,只需要在模型中指定一次,这就是模型绑定和数据注释的全部要点。请检查下面我的答案
    public class Contact
    {
        [Required]
        [StringLength(10, ErrorMessage="{1} tis te lang")]   
        public string Firstname { get; set; }

        [Required]
        [StringLength(10)]
        public string Lastname { get; set; }

        [Required]
        [EmailAddress]       
        public string Email { get; set; }

    }
<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms"/>