验证规则:正则表达式字符不允许asp.net mvc模型验证

时间:2016-03-14 09:31:49

标签: c# regex asp.net-mvc

对于Asp.Net mvc模型验证,我正在尝试为以下要求创建一个正则表达式:

  • 字符串长度在1-5之间(包括1和5限制)
  • 不允许使用非单词字符
  • 不允许使用下划线

我可以写一个正则表达式巫婆匹配非单词字符但不是我的问题的反面。

正则表达式

非单词字符和下划线匹配:

  

([\ W _])

字符串长度介于1和5之间:

  

{1-5}

Asp.net mvc代码:

namespace x
{
    public class Model
    {
        [RegularExpression(@"")]
        public string AString {get;set;}
    }
}

1 个答案:

答案 0 :(得分:2)

您可以使用

fit

查看demo

正则表达式分解:

  • override def fit(dataset: DataFrame): M = { // This handles a few items such as schema validation. // Developers only need to implement train(). transformSchema(dataset.schema, logging = true) copyValues(train(dataset).setParent(this)) } protected def train(dataset: DataFrame): M - 字符串开头
  • train - 不是非单词字符而非^[^\W_]{1,5}$ 1到5次出现
  • ^ - 字符串结束。

[^\W_]{1,5}negated character class匹配字符类的任何字符。

此外,如果要使用正则表达式限制字符串长度,则需要使用某些边界。在这种情况下,您可以依赖通常的开始/结束字符串anchors