我正在为网站使用Wordpress,并在前端添加了用户注册表单,但我使用value
属性在用户点击框中之前使用预定义的文本填充它。
但是我需要表单不提交,除非用户点击了用户名框并填写了选择的用户名,因此它会更改默认的措辞。
到目前为止我正在使用
if ( !$userdata['user_login'] )
$error = __('A username is required for registration.', 'frontendprofile');
elseif ( username_exists($userdata['user_login']) )
$error = __('Sorry, that username already exists!', 'frontendprofile');
哪个检查是否填充了用户名,但因为我已经在这里有默认值,那么这个验证不起作用所以有没有办法改变这个,所以表单不会提交,除非用户名已从defualt更改{ {1}}
答案 0 :(得分:0)
有很多方法可以解决这个问题。一个可能是检查提交的值。例如。 (假设“defaultValue”是非法的user_login)
if ( !$userdata['user_login'] ||
$userdata['user_login'] == "defaultValue" ||
!isNotEmpty($userdata['user_login']))
$error = __('A username is required for registration.', 'frontendprofile');
else if ( username_exists($userdata['user_login']) )
$error = __('Sorry, that username already exists!', 'frontendprofile');
function isNotEmpty($input)
{
$stringTemp = $input;
$stringTemp = trim($stringTemp);
if($stringTemp !== '')
{
return true;
}
return false;
}
注意:PHP也有一个空函数。这只是一个示例方法。
您应该添加Javascript验证以检查字段和&我假设你已经在保护自己不受SQL注入等的影响。
希望这有帮助