2012-08-28 21 views
2

我試圖使用validation in Spring.NET來驗證類的字符串屬性是格式正確的電子郵件地址。我找到了EmailValidator類(source,documentation),但我不確定實際在我的課程中使用它的語法。如何在Spring.NET中使用EmailValidator?

我想這一點:

<v:email id="validate.myClass.MailFrom" test="MailFrom"> 
    <v:message id="myClass.MailFrom" providers="myClassProvider"/> 
</v:email> 

,但我得到的錯誤:

The element 'group' in namespace 'http://www.springframework.net/validation' has invalid child element 'email' in namespace 'http://www.springframework.net/validation'. List of possible elements expected: 'validator, required, condition, regex, ref, collection, group, any, exclusive' in namespace 'http://www.springframework.net/validation'.

包含爲EmailValidator還含有ConditionValidator,的RegularExpressionValidator等等,這似乎對應於同一個命名空間允許的子元素。這似乎並不適用於EmailValidator。我錯過了什麼?

+0

@Ramhound我明白這個錯誤。我不知道哪些元素會讓我驗證電子郵件地址,所以我不知道如何「修復」該代碼。我已經添加了一些關於我允許的孩子對這個問題的混淆的澄清。 – Cody

+0

@Ramhound看看我爲EmailValidator發佈的源代碼鏈接;它已經在內部使用了正則表達式。 – Cody

+0

我刪除了我的評論,因爲它擾亂了我,你沒有閱讀整個評論。我建議你使用'regex'或'validator'子元素,這正是'Marijn'建議的。我不應該去外部網站來幫助你。我想你必須根據錯誤消息和第三方網站上的示例代碼使用'validator'子元素。 –

回答

2

嘗試像

<v:validator test="MailFrom" 
      type="Spring.Validation.Validators.EmailValidator, Spring.Core"> 
    <v:message id="myClass.MailFrom" providers="myClassProvider"/> 
</v:validator> 

的電子郵件驗證是一個自定義的驗證,這意味着你必須指定其類型。在xml配置中,您使用驗證器標籤作爲您自己的自定義驗證器。請參閱http://www.springframework.net/doc-latest/reference/html/validation.html#d4e3643。我明白了關於命名空間中具有其自己的XML元素的其他驗證器類的觀點。也許電子郵件驗證程序被認爲太具體,不能保證自己的XML元素?

+0

非常感謝你!指定他的'type'屬性就是我所需要的。 – Cody

相關問題