自定义正则表达式不在客户端验证

     2023-04-01     201

关键词:

【中文标题】自定义正则表达式不在客户端验证【英文标题】:Custom Regular Expression not validating on the client side 【发布时间】:2016-04-25 16:27:59 【问题描述】:

我已经构建了一个自定义属性来在客户端验证正十进制值。问题是当我将正则表达式直接应用于属性时,它可以正常工作,但是当我使用自定义属性时,它就不起作用了。

工作模式:

    [RegularExpression(@"^(?!0?(,0?0)?$)([0-9]0,3(,[0-9]1,2)?)?$", ErrorMessage = "Largura inválida.")]
    [Required(ErrorMessage = "Largura obrigatória.")]
    [Display(Name = "Formato Aberto")]
    public decimal SizeOpenedWidth  get; set; 

自定义属性:

public class PositiveDecimalAttribute : RegularExpressionAttribute

    public PositiveDecimalAttribute() : base("^(?!0?(,0?0)?$)([0-9]0,3(,[0-9]1,2)?)?$")  

集成在属性中:

    [PositiveDecimal(ErrorMessage = "Largura inválida.")]
    [Required(ErrorMessage = "Largura obrigatória.")]
    [Display(Name = "Formato Aberto")]
    public decimal SizeOpenedWidth  get; set; 

在第二个中,客户端验证显示错误消息:

The field Formato Aberto must be a number.

是否需要在客户端验证中集成新属性?

【问题讨论】:

你在global.asax注册了吗? 您好,谢谢,不。我必须在 global.asax 中包含什么? Application_Start() - 添加DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(PositiveDecimalAttribute), typeof(RegularExpressionAttributeAdapter)); 就这样? :) 它的工作!我必须为每个自定义属性都这样做吗? 如果它继承自现有的RegularExpressionAttribute,那么是的 【参考方案1】:

您需要在global.asax 中注册您的属性。在其Application_Start() 方法中,添加以下代码:

DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(PositiveDecimalAtt‌​ribute), typeof(RegularExpressionAttributeAdapter));

【讨论】:

感谢斯蒂芬的帮助;)

Laravel 中正则表达式规则的自定义验证消息?

】Laravel中正则表达式规则的自定义验证消息?【英文标题】:CustomvalidationmessageforregexruleinLaravel?【发布时间】:2013-12-1716:19:23【问题描述】:非常基本的问题,我正在尝试为Laravel中的正则表达式验证规则自定义错误消息。特定... 查看详情

Parsley.js 中的自定义正则表达式验证器

】Parsley.js中的自定义正则表达式验证器【英文标题】:CustomRegexValidatorinParsley.js【发布时间】:2016-01-2205:35:04【问题描述】:问题我在为Parsley.js插件创建自定义验证器时遇到问题。我想要做的是测试一个值与一个正则表达式。... 查看详情

jquery.validation自定义正则表达式验证

...目时前台表单验证用了jquery.validation插件。发现在做正则表达式验证时没有参数设置可以使用,需要一个个添加方法,比较麻烦。就做了一个简单的分装,也总结了一些正则表达式。/***@anthorycf*@date1017/11/3**本js是对jquery.validator的... 查看详情

欧芹验证中带有自定义域的电子邮件的正则表达式是啥

】欧芹验证中带有自定义域的电子邮件的正则表达式是啥【英文标题】:whatwillberegularexpressionforemailwithcustomdomaininparsleyvalidation欧芹验证中带有自定义域的电子邮件的正则表达式是什么【发布时间】:2021-03-1801:38:50【问题描述】... 查看详情

Laravel 自定义验证规则

...关制作自定义消息的信息,但不了解规则。我想使用正则表达式来验证数据。^120\\d11$这是我的正则表达式。我是Laravel的新手,这就是为什么现在无法想象如何做到这一点。在$this-& 查看详情

WooCommerce 结帐字段的自定义验证

...间】:2015-04-2014:34:02【问题描述】:我想添加自己的正则表达式来验证电话号码。在我的class-wc-validation.php中,我已将正则表达式更改为我的要求。publicstaticfunctionis_phone($phone)//if(strlen(trim 查看详情

使用 QSqlTableModel 的正则表达式自定义 QAbstractItemDelegate

】使用QSqlTableModel的正则表达式自定义QAbstractItemDelegate【英文标题】:CustomQAbstractItemDelegatewithregexforQSqlTableModel【发布时间】:2015-03-1120:00:52【问题描述】:我正在尝试创建一个自定义委托,以便我可以使用Regex来验证正在输入到... 查看详情

数据检验插件:validate插件添加自定义表单验证

    jQuery.validator.addMethod("ValiPass",function(value,element,params)       varexp=newRegExp(params);//实例化正则对象,参数为传入的正则表达式   & 查看详情

使用 $protocol 的 JavaScript RegExp 自定义 URL 验证

...发布时间】:2013-11-2300:43:12【问题描述】:我在通过正则表达式时遇到了一些困难。我的表达式应该验证一个url。对于协议,它将允许三个值:http、https和$pr 查看详情

用于自定义电子邮件和域的 C# 正则表达式

】用于自定义电子邮件和域的C#正则表达式【英文标题】:C#Regexforcustomemailanddomain【发布时间】:2021-11-0920:35:14【问题描述】:我有一个带有使用此模式的输入的剃刀视图:pattern="^[a-zA-Z0-9._+-]+&#64mydomain.com"它用作前端验证非... 查看详情

正则表达式的使用

正则表达式(regularexpression)是一个描述字符模式的对象。ECMAScript的RegExp类表示正则表达式,而String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。正则表达式主要用来验证客户端的输入数据。用户... 查看详情

自定义表单验证注释不起作用

...的任何日期格式。最初我认为问题在于我用于测试的正则表达式,但在做了一些测试后,我很确定它可以工作。我错过了什么?这是我的代码(我 查看详情

javascript——正则表达式

正则表达式(regularexpression)是一个描述字符模式的对象。JavaScript的RegExp类表示正则表达式,而String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数正则表达式主要用来验证客户端的输入数据。用户填... 查看详情

包含的 JQuery 验证正则表达式

】包含的JQuery验证正则表达式【英文标题】:JQueryValidationRegexforContain【发布时间】:2012-09-1917:38:31【问题描述】:我有一个用户名和密码输入字段,我正在使用jquery验证插件来验证我的表单。我知道如何创建自定义规则,但我... 查看详情

ORKTextAnswerFormat 正则表达式验证

】ORKTextAnswerFormat正则表达式验证【英文标题】:ORKTextAnswerFormatregexvalidation【发布时间】:2019-06-2115:00:04【问题描述】:我正在尝试将自定义ORKTextAnswerFormat合并到我的应用程序中,并且只允许用户输入字母数字字符。我只想要大... 查看详情

不在正则表达式中

】不在正则表达式中【英文标题】:Notinregularexpression【发布时间】:2013-02-2213:47:32【问题描述】:我正在尝试编写一个正则表达式模式来查找不在引号内的特定字符串。例如;wherevalue=\'~foo\';//nomatchwherevalue=~foo;//match我可能会一... 查看详情

vue_自定义表单验证(代码片段)

邮箱验证varcheckEmail=(rule,value,cb)=>//验证邮箱的正则表达式constregEmail=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+([a-zA-Z0-9_-])+/ //另一种 constds=/^([a-zA-Z0-9]+[_|\\_|-|\\-|\\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\\ 查看详情

向自定义正则表达式添加动态错误消息

】向自定义正则表达式添加动态错误消息【英文标题】:Adddynamicerrormessagetocustomregularexpression【发布时间】:2019-12-0504:04:10【问题描述】:我已经建立了一个自定义的正则表达式类。我还有一个数据库值,它是我不希望在我的Web... 查看详情