ext的form中我们验证,用到emptyText属性的时候,这个相当于一个defalutValue,所以在form提交的时候,会传到后台去,而这不是需要的,我们需要的是只是提示,没有填写的时候,传' '过去.
解决的办法:
![](http://static.oschina.net/uploads/space/2013/0329/175116_gxO5_873600.png)
只要在表单submit提交之前,加属性 submitEmptyText: false,就能解决这个问题了。
还有一种解决办法:
在有效性检验时需要对表单元素的提交的数据和该表单元素的emptyText比较,如果相同,说明用户没有输入任何文本;如果不同并且非空,说明是用户填写的内容。
01 | var thisForm = formInsert.getForm(); |
02 | if (thisForm.isValid()) { |
03 | var submitValues = formInsert.getForm().getValues(); |
06 | for ( var param in submitValues) { |
07 | if (thisForm.findField(param) && thisForm.findField(param).emptyText == submitValues[param]) { |
08 | submitValues[param] = '' ; |
10 | } <span></span> return ; |
也是在表单submit之前处理好就行了.
以上是该问题的解决方法。