2010-08-28 86 views
0

我遇到了VAB实施问题。我们正在使用ASP.NET MVC 1.0企业库VAB实施问题

我有一个属性“名字”,我们想要2验证。

  1. 非空验证
  2. 正则表达式验证,如果我离开它留空那么它给我的错误消息来自验证(停止某些字符)

现在。 如果第一个名字是空白的,我只想让空值显示错误的详细信息 如果第一个名字不是空白,那么我就是要执行的RegEx,如果有任何无效字符,那么我想阻止它们。

请在这里引导我

谢谢!

+0

不要忘了标记你最喜欢的答案。 – Steven 2010-11-21 16:47:10

回答

0

由于字符串不为空,因此无空验证程序不会将其提取出来 - 它是一个空字符串。看看这篇文章:http://geekswithblogs.net/michelotti/archive/2008/06/12/122836.aspx

+0

我将空值/空字符串传递给属性,并且两个验证器都正在执行。 – amit 2010-08-29 02:47:26

+0

当你说你“传递空值/空字符串”时,我不确定我是否跟着你 - 你可以*不*同时传递一个空值和空字符串 - 这是不可能的。你是说如果你通过*或者*发生同样的事情?这是一个网络应用程序?如果是这样,你没有传递空值 - 你传递空字符串。你绝对证实了这一点? – 2010-08-29 09:13:41

0

在使用Enterprise Library 5.0时,可以混合使用VAB属性和DataAnnotation属性(因为VAB现在扩展了DataAnnotations)。当你装饰你的财产如下,你的问题就解决了:

[System.ComponentModel.DataAnnotations.Required] 
[EnterpriseLibrary.Validation.Validators.RegexValidator("...")] 
public string LastName { get; set; }