2012-05-10 6 views
0

asp.net MVC 2.0の正規表現のカスタムバリデータを使用してコントロールのリストを検証することに問題があります。asp.netコントロールのリストのMVC regularexpressionの有効性確認

私のコードは以下の通りです。これはカスタムバリデータを使用します。しかし、これは動作していません、任意の提案?これは、いずれかの制御値が無効である場合、すべての制御にエラーを割り当てます。

[QuestionRegularExpression(@"\d{2}", ErrorMessage = "Must be numeric")] 
public List<IDateQuestion> DriverViolationsList { get; private set; } 
    public ViolationDatesFormModel() 
    { 
     DriverViolationsList = new List<IDateQuestion>(); 
    } 

これは機能しませんでした。誰でも助けてください。前もって感謝します。

+0

にアダプタを登録する必要がありますか?もしそうなら、私はこのコントロールがリストであるオブジェクトを検証できるとは思わない... –

+0

正しいQuestionRegularExpressionは、正規表現検証属性から継承する[AttributeUsage(AttributeTargets.All)] public sealedクラスQuestionRegularExpressionAttribute:RegularExpressionAttribute {public QuestionRegularExpressionAttribute(stringパターン):base(パターン){} public override bool IsValid(オブジェクト値){var question = value as IQuestion;質問を返す== null ||質問。値==ヌル|| IsValid(question.Value); } –

+0

これを行う方法は他にありますか? –

答えて

0

私はQuestionRegularExpressionは、正規表現の検証属性を継承すると仮定しGlobal.asax.cs

protected void Application_Start() 
{ 
    //... 
    DataAnnotationsModelValidatorProvider.RegisterAdapter(
     typeof(QuestionRegularExpressionAttribute), 
     typeof(RegularExpressionAttributeAdapter)); 
} 
関連する問題