extjs验证,就是表单的name,我使用异步验证用户名重复了,但调用form.isValid()一直为true

我是在鼠标离开name的输入框后用ajax验证用户名重复了,但我调用form.isValid()却一直为true,并且name的输入框的错误验证边正确输入了,遇到这个问题... 我是在鼠标离开name的输入框后用ajax验证用户名重复了,但我调用form.isValid()却一直为true,并且name的输入框的错误验证边正确输入了,遇到这个问题,我有打算改用vtype,但这个会多次访问数据库,我不希望这个所以就没用vtype,之前也试过有则个的问题,后来又不知道什么原因又没事了,我就是想知道为什么会有如此诡异的问题呢? 展开
 我来答
dualmind
2012-09-11 · TA获得超过270个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:174万
展开全部
isValid方法是本地方法, 只检查form中包含的field的指定属性和vType, 如allowBlank设为false, 该字段为空则isValid方法返回false, 不满足vType也返回false. 其他的还有NumberField的allowDecimal, DateField值与设定的format不符, 看下API吧, 没有什么诡异的.

你的意思是要从服务器端验证有效性, 显然客户端方法是无法实现的. 要实现你的要求, 一般的做法是自己记录状态值. 因为异步调用的关系, 必须在验证发出前设状态为false, 在调用返回后, 再根据返回结果设置状态值.

另:如果form中有多个name相同的feild, 则form.getValues方法得到的对象中以数组表示, 如:{username: ['abc', 'bcd'], password: 'abc', ....}
来自:求助得到的回答
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式