繁体   English   中英

如何在客户端使用验证器?

[英]How to use validators in client side?

我想用jquery在客户端使用web2py验证器和我的自定义验证器! 如何使用它们?

web2py验证程序仅在服务器上工作。 提交表单后,web2py将在服务器上进行验证,如果有任何错误,它将返回该表单以及要显示的任何错误消息。 您也可以分别进行客户端验证,但这将独立于web2py的服务器端验证。

更新:如果要通过Ajax将值发送到服务器并使用验证器进行检查,则可以直接调用验证器。 例如:

value, error = IS_EMAIL()('someone@example.com')

所有验证器都将获取一个值,并在调用时返回一个元组,第一个元素是提交的值(或它的转换,取决于验证器),第二个元素是(如果通过验证)为None否),或者是一个错误消息(如果验证通过)。验证失败。

通过Ajax接受值并返回错误消息或“ OK”的服务器端验证操作可能如下所示:

def validate():
    value, error = globals()[request.vars.validator]()(request.vars.value)
    return error if error else 'OK'

然后,您可以使用以下URL进行Ajax调用:

/myapp/mycontroller/validate?validator=IS_EMAIL&value=someone@example.com.

但是,发送Ajax请求来分别验证每个字段的效率不是很高,特别是对于不需要任何服务器端处理的验证器而言。 如果您不希望表单提交重新加载页面,另一种选择是将表单放入web2py 组件中 ,在这种情况下,整个表单提交和验证将通过Ajax自动处理(在单个Ajax请求中)。

如果您确实要进行客户端验证,那么更好的选择是使用客户端验证库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM