我有哪里像电子邮件一些投入在HTML5正则表达式得到验证的一种形式。 我需要验证其他输入,我无法使用模式。我需要查看数据库并查找重复项。我可以通过调用某个函数而不是使用模式来验证吗?HTML5输入验证与功能,而不是模式
我可以通过调用某个函数来验证用户键入的内容,但我的最终目标是实现UI一致性。因为电子邮件输入使用模式和正则表达式验证,用户界面是由浏览器创建的,因此验证等领域,我不能使用正则表达式时,我婉相同的用户界面。
我有哪里像电子邮件一些投入在HTML5正则表达式得到验证的一种形式。 我需要验证其他输入,我无法使用模式。我需要查看数据库并查找重复项。我可以通过调用某个函数而不是使用模式来验证吗?HTML5输入验证与功能,而不是模式
我可以通过调用某个函数来验证用户键入的内容,但我的最终目标是实现UI一致性。因为电子邮件输入使用模式和正则表达式验证,用户界面是由浏览器创建的,因此验证等领域,我不能使用正则表达式时,我婉相同的用户界面。
是的,这是可能的!
您只需要获取输入元素(通过回调或document.getElementBy ...)并调用
setCustomValidity('message here')。如果输入有效,您可以拨打
setCustomValidity('')清除错误消息。
例如:
<input name='email' onchange='checkEmail(this)'></input>
然后定义checkEmail ...
function checkEmail(element) {
ajaxCallToServer(element.value, function callback(hypotheticalResponse) {
if (hypotheticalResponse.isOk) {
element.setCustomValidity('');
} else {
element.setCustomValidity('Sorry that email is already taken!');
}
});
}
不,HTML5确认没有任何功能的概念。它原则上是与语言无关的,甚至不会在浏览器中假设JavaScript支持。它仅支持HTML5规范中描述的检查。
这是可以做到的,但你会从HTML5式验证疏远自己,特别是因为你的函数会必须是异步的才能查找数据库。 (我99%肯定“预HTML5” JS验证框架是在那里,所以你可以尝试任何这些) – Katana314
你可以做到这一点,只是做与AJAX请求验证对数据库数据。 – ianaya89
您可以使用jQuery轻松实现此效果。可以使用jQuery.change()函数来验证基本上使用jQuery.ajax(飞输入),或特定jquery.post()/ jquery.get()函数。 – 9997