0

我正在为该站点使用 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');

它检查是否已填充用户名,但因为我在这里已经有一个默认值,所以这个验证不起作用所以有没有办法改变它所以表单不会提交,除非用户名从默认值改变value

4

1 回答 1

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 Validation 来检查这些字段,我假设您已经在保护自己免受 SQL 注入等攻击。

希望这可以帮助

于 2012-10-02T14:51:30.897 回答