加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 强制重新验证mvc3不显眼的远程验证

发布时间:2020-12-16 00:15:47 所属栏目:asp.Net 来源:网络整理
导读:这是一个经典的登录流程.用户可以在“新用户”或“现有用户”之间进行选择.如果用户是新用户,则登录框中的名称应该针对服务器进行验证,以查看用户名是否是唯一的,如果是现有用户,则将跳过此检查,因为我们希望已经(当然)采用了用户名. 我在viewmodel上添加了
这是一个经典的登录流程.用户可以在“新用户”或“现有用户”之间进行选择.如果用户是新用户,则登录框中的名称应该针对服务器进行验证,以查看用户名是否是唯一的,如果是现有用户,则将跳过此检查,因为我们希望已经(当然)采用了用户名.

我在viewmodel上添加了一个[Remote]属性,并为新/退出用户添加了radiobutton作为“附加字段”.这样,远程验证将返回true,如果不是,则检查数据库,以查看是否采用了用户名.

这很有效,除非用户在输入用户名后决定更改单选按钮(新/现有)(并且远程验证已运行).由于远程验证仅在用户名更改时自动运行(即具有[Remote]属性的属性),因此单独更改单选按钮不会再次运行.

所以我的问题是,我如何强制远程验证再次运行?我通过在用户名输入字段上触发更改/焦点/模糊事件来尝试通常的黑客攻击,但是不会触发调用.我考虑在radiobutton上添加一个类似的[Remote],但这会使两个看起来相同的错误信息复杂化,放在同一个绝对位置.

有没有办法触发重新验证?

解决方法

我相信可以使用$(“#formID”)触发jquery验证.validate()

在文档中可以找到更多选项:http://docs.jquery.com/Plugins/validation和Brad Wilson’s blog(您还可以在评论中找到一些信息)

您是否查看了输入的数据属性,可能是缓存的?像this这样的东西.

编辑:只是为了澄清,这是我如何工作

$('#UserName').removeData('previousValue');
$('form').validate().element('#UserName');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读