【问题标题】:PFBC form not showing validation errorsPFBC 表单未显示验证错误
【发布时间】:2013-12-23 18:03:34
【问题描述】:

我正在执行 PFBC。为此,我编写了一个基本上运行登录表单的扩展程序。当用户无法登录时,我想显示一条错误消息。据我了解,PFBC 应该会自动显示这一点,但不知何故它不会。

我已经让用户类始终返回 false,并验证我确实到达了实现的正确部分。因此,我希望表单显示 Error: Invalid Email Address / Password,但我只得到一个空表单。有人可以帮我解决这个问题吗?

这是类扩展

命名空间 PFBC;

class jf_form extends Form
  {  
  function login_form()
   {
$this->addElement(new Element\HTML('<legend>Login</legend>'));
$this->addElement(new Element\Hidden("form", "login"));
$this->addElement(new Element\Email("Email Address:", "Email", array(
    "required" => 1
)));
$this->addElement(new Element\Password("Password:", "Password", array(
    "required" => 1
)));
$this->addElement(new Element\Checkbox("", "Remember", array(
    "1" => "Remember me"
)));
$this->addElement(new Element\Button("Login"));
$this->addElement(new Element\Button("Cancel", "button", array(
    "onclick" => "history.go(-1);"
)));
$this->render();
}
}

和实现: 使用 PFBC\jf_form; 使用 PFBC\Element;

// Initiate forms
$formi = new PFBC\jf_form();

// Test login
if(jf_form::isValid("login", false)) 
  {
  // form was submitted
  $user = new user();
  if($user->login($_POST["Email"], $_POST["Password"])) 
    {
    jf_form::clearValues("login");
    }
  else 
{
    jf_form::setError("login", "Error: Invalid Email Address / Password");
    $formi->login_form();
echo "false";
}
  }
else
  {
  // create login form
  $formi->login_form();
  }

【问题讨论】:

    标签: php validation pfbc


    【解决方案1】:

    好的,找到问题了。该脚本假定要设置一个特定的表单 ID。启动时,必须传递表单 ID 并始终使用它。

    $formi = new PFBC\jf_form("jflogin");
      if(jf_form::isValid("jflogin", false))
        {
    

    【讨论】:

      猜你喜欢
      • 2018-04-19
      • 2014-02-20
      • 1970-01-01
      • 2019-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      • 2012-04-05
      相关资源
      最近更新 更多