0

[Required]空の文字列と長さの要件を検証するために注釈を使用できることは知ってい[StringLength]ますが、それらを検証するためにも同じ正規表現を使用したいと思います。私は正規表現があまり得意ではないので、試していません。

正規表現は検証する必要があります

1.空の文字列(許可されるべきではありません)

2.文字の長さ(8)

3.整数

4.開始番号(1である必要があります)

コードは次のとおりです。

 [DisplayName("Account Number:")]
 [RegularExpression("", 
             ErrorMessage = "An eight digit long number starting with 1 required")]
 public string accountNo { get; set; }

前もって感謝します !

4

3 に答える 3

6

この正規表現を使用する ^1\d{7}$

また

^1[0-9]{7}$

または、クランチで、

  ^1[0-9][0-9][0-9][0-9][0-9][0-9][0-9]$

サンプルコード:

using System.Text.RegularExpressions;
 Regex RegexObj = new Regex(@"^1\d{7}$");
 bool  result=   RegexObj.IsMatch("" );

--結果の値がfalse

空の文字列を許可したくない場合は、次の属性をフィールドに配置します。

[Required(AllowEmptyStrings = false)]
于 2012-05-30T13:13:14.347 に答える
3

MSDNのドキュメントによると、空の文字列は常に正規表現バリデーターを渡します。何かを入力したことを確認する場合は、必須の属性を使用する必要があります。または、正規表現から独自のカスタムデータアノテーション属性を派生させて、空の条件を自分で処理することもできます。

于 2012-05-30T15:51:46.633 に答える
0

空の文字列が有効であることを確認するには、に設定された[Required]属性を追加します。これにより、割り当てられなくなりますが、空の文字列は許可されます。AllowEmptyStringstruenull

正規表現に関しては、Romilの表現はうまくいくはずです。

[DisplayName("Account Number:")]
[Required(AllowEmptyStrings = true)]
[RegularExpression(@"^1\d{7}$", 
         ErrorMessage = "An eight digit long number starting with 1 required")]
public string accountNo { get; set; }

編集空の文字列も検証されないようにする場合は、AllowEmptyStrings設定を省略します(デフォルトではfalse)。

[DisplayName("Account Number:")]
[Required]
[RegularExpression(@"^1\d{7}$", 
         ErrorMessage = "An eight digit long number starting with 1 required")]
public string accountNo { get; set; }
于 2012-05-30T13:19:17.953 に答える