2

我试图在 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”中的元素“组”在命名空间“http://www.springframework.net/validation”中具有无效的子元素“email”。预期的可能元素列表:命名空间“http://www.springframework.net/validation”中的“验证器、必需、条件、正则表达式、参考、集合、组、任何、独占”。

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

4

1 回答 1

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 元素?

于 2012-08-28T18:37:55.963 回答