2014-08-31 51 views
-2

我在JavaScript表单验证中遇到了一些问题。可选字段验证

我在我的HTML代码中有一些可选字段。提交时,他们不需要填写,但如果用户提供一些输入,他们必须经过验证。例如,我有一个可选的电话号码字段。如果用户提供输入,那么我需要检查它们是否都是数字。

我该怎么做?

+0

http://html5pattern.com/ – 2014-08-31 10:18:58

回答

1

你只需要调用验证码如果字段值满足一些先决条件,在这种情况下:

var fieldValue = document.getElementById("someInput").value; 
if(fieldValue.length > 0) { 

    if(someValidationFunction(fieldValue)) alert("Field is invalid"); 
} 
0

你:如果字段的值(通过测试的字符串值的length财产选中)可以将您的自定义方法作为回调提交给您的表单中的提交操作

<form onSubmit="return customValidation()> 

在该方法中进行验证。

function customValidation() 
{  
    //code to test fields 
    fieldToValidate = document.getElementById("field-id") 
    //validate the field 
} 
0

如果您需要更安全的话,您不能使用其他答案;你不应该用JavaScript来做这件事,因为如果用户由于某种原因在浏览器中关闭了浏览器(或者他们故意关闭它),那么表单将不会被验证。相反,你需要在服务器上使用PHP来完成。在表单发送给您的服务器上需要获取与表格($_GET['phonenumber'];)一起发送的查询字符串,并查看它是否是一个数字(int intval (mixed $phonenumber))。这应该返回NaN,如果它不是数字。

1

什么阻止你使用HTML5自己的验证?

<input type="tel" pattern="[0-9]+" /> 

没有JavaScript需要,可以在所有现代浏览器上运行。


有关安全性的说明:请不要依赖客户端验证来解决安全问题,因为它们可以被平凡地禁用。所有的验证都应该在服务器端完成