我真的需要dd-mon-yy格式,因为我的oracle数据库接受这种格式的日期。
我可以在RegularExpressionValidator中像那样验证吗?
而且,当使用nhibernate时,我是否必须将文本框值转换为oracle数据时间格式?
非常感谢你的帮助;
答案 0 :(得分:3)
尝试
Regx.ValidationExpression=@"^(([1-9])|(0[1-9])|(1[0-2]))\-((0[1-9])
|([1-31]))\-((\d{2})|(\d{4}))$";
或
您可以尝试使用此自定义验证器
protected void CustomValidator1_ServerValidate(对象源,ServerValidateEventArgs args) {
DateTime结果;
if(!DateTime.TryParse(args.Value,out result))
{
args.IsValid = false;
返回;
} else args.IsValid = true;
}
答案 1 :(得分:2)
是否有必要强制用户以Oracle数据库禁止的格式输入数据?只要用户输入有效日期,您就可以将输入解析为DateTime对象,然后调用ToString(“dd-MMMM-yy”)以生成数据库所需格式的日期表示。这使您可以自由地提供更多用户友好的方法来收集用户的输入,例如日期/时间选择器类型控件。
答案 2 :(得分:1)
对于年份的两位数,请尝试:
^([012]?\d|3[01])-([Jj][Aa][Nn]|[Ff][Ee][Bb]|[Mm][Aa][Rr]|[Aa][Pp][Rr]|[Mm][Aa][Yy]|[Jj][Uu][Nn]|[Jj][Uu][Ll]|[Aa][Uu][Gg]|[Ss][Ee][Pp]|[Oo][Cc][Tt]|[Nn][Oo][Vv]|[Dd][Ee][Cc])-\d\d$
年份有四位数字:
^([012]?\d|3[01])-([Jj][Aa][Nn]|[Ff][Ee][Bb]|[Mm][Aa][Rr]|[Aa][Pp][Rr]|[Mm][Aa][Yy]|[Jj][Uu][Nn]|[Jj][Uu][Ll]|[Aa][Uu][Gg]|[Ss][Ee][Pp]|[Oo][Cc][Tt]|[Nn][Oo][Vv]|[Dd][Ee][Cc])-(19|20)\d\d$
这些表达意味着: