我目前正在创建一个基于jQuery 验证器插件的表单验证脚本。所以,简单的配置很容易,比如最小长度、最大长度、需要等。
之后,我决定从客户端检查用户名/电子邮件的可用性,所以我不得不使用该remote
选项,这是我的一个选项创建规则数组时必须指定。因此,在创建规则时,我必须将数据发送到 php 脚本并检查输入字段的可用性。
但由于我要检查多个输入字段的可用性,我创建了一个函数(在客户端)为每个字段重复使用它,并且该函数需要输入字段的 ID 和 MySQL 表的名称,以把事情说清楚,这是功能:
注意:
1.check_input 是一个 php 脚本,它将获取输入字段的值和要检查的表,它会返回一个 json 编码的布尔值,如果表中没有匹配项,则为 true,否则为 false。
function check_input(input, table){
$.ajax({
type:"POST",
url:site_url+"site/check_input",
data:{
input:input,
table:table,
}
}).done(function(resp){
var is_unique = JSON.parse(resp);
return is_unique;
});
}
并且将通过将remote
选项设置为来调用此函数
check_input($('#field').val(), 'table.column');
。
因此,如您所见,我必须从客户端指定我的 MySQL 表,并且每个用户(好用户和坏用户)都可以看到这一点,这被认为是不安全还是不好的做法?
如果不是,检查可用性的合适方法是什么?