|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你所列的那些其实差不多都可以称为应用服务器(servlet应该说是一种语言更合适)java是开放的,相同的工具就会有很多公司在做,加上java已经发展了很多年了,因此这些工具就很多了。他们很多都是类似的。我会先容怎样毗连到ASP.NETMVC2的客户端考证扩大,以便你能够在客户端上运转JavaScript考证逻辑。
我将创立一个PriceAttribute来考证某个值是不是年夜于指定的代价,而且这个代价必需以99分停止,因而$20.00是有效的值,$19.99是无效的。上面是这个属性的代码:
publicclassPriceAttribute:ValidationAttribute{
publicdoubleMinPrice{get;set;}
publicoverrideboolIsValid(objectvalue){
if(value==null){
returntrue;
}
varprice=(double)value;
if(price<MinPrice){
returnfalse;
}
doublecents=price-Math.Truncate(price);
if(cents<0.99||cents>=0.995){
returnfalse;
}
returntrue;
}
}
注重假如值为空,前往的值是true,这个属性不会考证字段是不是必要。我会在RequiredAttribute中考证值是不是必要。它同意我将属性放在可选的值上,当用户将这个字段留为空时显现一个毛病。
我们能够创立一个视图模子,然后使用这个属性到模子长进行疾速测试,上面是这个模子的代码:
publicclassProductViewModel{
[Price(MinPrice=1.99)]
publicdoublePrice{get;set;}
[Required]
publicstringTitle{get;set;}
}
我们再疾速地创立一个视图(Index.aspx)显现和编纂窗体:
<%@PageLanguage="C#"Inherits="ViewPage"%>
<%using(Html.BeginForm()){%>
<%=Html.TextBoxFor(m=>m.Title)%>
<%=Html.ValidationMessageFor(m=>m.Title)%>
<%=Html.TextBoxFor(m=>m.Price)%>
<%=Html.ValidationMessageFor(m=>m.Price)%>
<inputtype="submit"/>
<%}%>
如今我们只必要一个有两个举动的把持器,一个编纂视图,另外一个吸收提交的ProductViewModel。
[HandleError]
publicclassHomeController:Controller{
publicActionResultIndex(){
returnView(newProductViewModel());
}
[HttpPost]
publicActionResultIndex(ProductViewModelmodel){
returnView(model);
}
}
我们还没有开启客户端考证,上面来看看当我们检察这个页面并提交一些值时会产生甚么。
</IMG>可怜的程序员,还是逃不出移植的命运! |
|