2014-09-24 81 views
0

目前我有一个tyoe小数?显示在我的视图中。用户希望能够输入N/A或NA,如果它不适用于它们而不是空白。有人能指出我正确的方向来解决这个问题,通过使用jQuery的不显眼的验证?MVC 4&自定义jQuery验证 - 数字验证忽略值,如“不适用”,“不适用”和“不适用”

在此先感谢

+0

你想在jQuery或服务器端进行验证吗? – yoozer8 2014-09-24 17:56:14

+0

道歉没有添加我正在使用jQuery不显眼的验证 – Duffp 2014-09-24 17:57:21

+0

您可以编写自定义验证属性。我从来没有让用户请求更多的工作,但没有像这样的好处。 – Jonesopolis 2014-09-24 17:59:39

回答

0

你可以在这里使用Decimal.TryParse方法试图解析输入。给定一个out decimal参数,它会将该值设置为成功分析的任何值,或者如果解析失败(返回指示成功或失败的bool),则保持该值不变。

+1

我认为OP意味着N/A,NA应该通过验证以及1.2,但是会失败的空字符串。 – artm 2014-09-24 17:57:02

1

尝试添加自定义的验证,是这样的:

$.validator.addMethod("NADecimal", function(value, element) { 
    return this.optional(element) || value == 'N/A' || value == 'NA' || parseFloat(value) >0 ; 
}, "Please specify N/A or decimal value"); 

,然后在你的验证:

$('#myForm').validate({ 

    rules: { 
     "decimalField": { "NADecimal"}, 
     other rules.... 
    }, 

编辑:

这说的,是你的数据类型小数在服务器上侧?那么“N/A”将毫无用处。

+0

如果OP使用jQuery Validate插件,那很好。但是,目前尚不清楚。 – Sparky 2014-09-24 18:10:32

+0

你说得对,我认为这就是他在评论回复中的意思。 – artm 2014-09-24 18:11:33

+0

哦,我明白了。我认为他应该修正他的OP。 – Sparky 2014-09-24 18:13:28