如何在Spring.NET中使用EmailValidator?

时间:2012-08-28 16:44:46

标签: c# validation spring.net

我正在尝试使用validation in Spring.NET来验证类的字符串属性是否是格式正确的电子邮件地址。我找到了EmailValidator类(sourcedocumentation),但我不确定在我的课程中实际使用它所需的语法。

我正在尝试这个:

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

但是我收到了错误:

  

名称空间“http://www.springframework.net/validation”中的元素“group”在名称空间“http://www.springframework.net/validation”中具有无效的子元素“email”。预期可能元素的列表:'名称空间'http://www.springframework.net/validation'中的'validator,required,condition,regex,ref,collection,group,any,exclusive'。

包含EmailValidator的相同命名空间还包含ConditionValidator,RegularExpressionValidator等,它们似乎对应于允许的子元素。对于EmailValidator来说,情况似乎并非如此。我错过了什么?

1 个答案:

答案 0 :(得分: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元素?