我正在使用单轨,activerecord和jquery。我有一个邮政编码文本框的表单。我有关联的形式我的活动记录类:ValidateRegExp客户端与服务器端问题
[Property]
[ValidateNonEmpty]
[ValidateRegExp(@"/^\d{5}(-\d{4})?$/", "Invalid")]
public string ZipCode { get; set; }
正如你所看到的,我使用的是ValidateRegExp属性,然后自动生成jQuery的验证规则。问题是JavaScript中的正则表达式与C#中的正则表达式不同。 Javascript需要在正则表达式之前和之后,而C#没有。如果我把斜杠,然后jQuery验证将工作,但如果他们绕过javascript验证和提交表单禁用js(或者如果有人通过另一种方式像测试案例保存对象),那么它会说邮编是无效,因为C#不喜欢斜杠。
所以我的问题是,你如何请一个正则表达式的JavaScript和C#都?我希望它足够聪明,可以在jQuery验证之前和之后添加斜杠,以便您可以在C#中指定正则表达式,而不使用斜杠,但情况并非如此。
如果你指定你正在使用哪个版本的Monorail,以及你使用哪个版本的jQuery和jquery.validator正在使用 – 2010-08-12 04:05:46