我有一个问题,通过JavaScript进行验证

时间:2015-02-06 07:19:09

标签: javascript jquery html

如果我使用ID或类型(在jQuery中)等来验证任何文本框,例如:

var element=document.getElementById('tbxSearchField').value
if(element=="")
{alert("please enter text");}

HTML是:

<input class="input" id="tbxSearchField" name="tbxSearchField" placeholder="Search" type="text" value="">

如果有人使用inspect element选项更改浏览器中元素的ID,则验证无效。

如何为这种情况提供安全保障?有没有办法阻止客户端这个?

3 个答案:

答案 0 :(得分:0)

  

有没有办法阻止客户端

不,没有。客户端验证仅为用户提供便利。验证逻辑可以随时通过浏览器开发工具中的简单编辑代码进行更改。

  

如何为这种情况提供安全保障?

始终从服务器上的客户端重新验证数据。

答案 1 :(得分:0)

安全验证输入的最佳方法是使用服务器端验证,但使用 jQuery ,您可以避免使用idclass验证输入:

var elements=$( "input:text" );
for(element in elements){
  if(element.val()=="")
  {
   alert("please enter text");
  }
}

或者您可以使用Javascript querySelector() Method

var elements=document.querySelector('input[type="text"]');
for(element in elements){
  if(element.value=="")
  {
   alert("please enter text");
  }
}

答案 2 :(得分:-1)

JavaScript验证是客户端验证。最终用户可以使用浏览器的JavaScript设置轻松解决此问题。

出于安全考虑,最好使用Ajax验证。

博客文章 Form Validation Using Ajax 将有助于更多地使用Ajax验证。