通过 Zend_Form 和 Zend_Validate_Date 验证日期的输入字段

发布于 2024-10-22 06:47:39 字数 986 浏览 1 评论 0原文

    $this->addElement('text', 'projected-start', array(
        'required'   => false,
        'validators'  => array (
            array('date', false, array('MM/dd/yyyy'))
        ),
        'label'      => 'Projected Start:',
        'class'      => 'form-date'
    ));

我正在扩展 Zend_Form 以创建新的自定义表单。我尝试使用上面的代码验证日期,但它根本不起作用,当我输入无效的输入时,什么也没有显示。对这个有什么帮助吗?

编辑:

class Application_Form_CreateProject extends Zend_Form
{
    public function init()
    { ... }
}

这是扩展表单的开始。

$form = new Application_Form_CreateProject();
        $request = $this->getRequest();
        if ($request->isPost()) {
            if ($form->isValid($request->getPost())) {
                                echo "true";
            }
        }
        $this->view->form = $form;

这就是控制器

echo $this->form->setAction($this->url());

这就是视图

    $this->addElement('text', 'projected-start', array(
        'required'   => false,
        'validators'  => array (
            array('date', false, array('MM/dd/yyyy'))
        ),
        'label'      => 'Projected Start:',
        'class'      => 'form-date'
    ));

I'm extending Zend_Form to create a new custom form. I tried to validate a date using the code above but it simply is not working and nothing is displaying when I enter an invalid input. Any help on this one?

EDIT:

class Application_Form_CreateProject extends Zend_Form
{
    public function init()
    { ... }
}

Thats the start of extending the form.

$form = new Application_Form_CreateProject();
        $request = $this->getRequest();
        if ($request->isPost()) {
            if ($form->isValid($request->getPost())) {
                                echo "true";
            }
        }
        $this->view->form = $form;

That's the controller

echo $this->form->setAction($this->url());

That's the view

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

给我一枪 2024-10-29 06:47:40

当你尝试这个时你会得到什么:

$f = new Zend_Form();
$f->addElement('text', 'projected-start', array(
    'required'   => false,
    'validators'  => array (
       array('date', false, array('MM/dd/yyyy'))
    ),
    'label'      => 'Projected Start:',
    'class'      => 'form-date'
));

$data = array(
    'projected-start' => '13/03/2011'
);
var_dump( $f->isValid( $data ) );
var_dump( $f->getErrors() );
die;

What do you get when you try this:

$f = new Zend_Form();
$f->addElement('text', 'projected-start', array(
    'required'   => false,
    'validators'  => array (
       array('date', false, array('MM/dd/yyyy'))
    ),
    'label'      => 'Projected Start:',
    'class'      => 'form-date'
));

$data = array(
    'projected-start' => '13/03/2011'
);
var_dump( $f->isValid( $data ) );
var_dump( $f->getErrors() );
die;
ぽ尐不点ル 2024-10-29 06:47:40

你可以试试这个

$this->addElement('text', 'projected-start', array(
    'required'   => false,
    'validators'  => array (
        new Zend_Validate_Date(array('format' => 'MM/dd/yyyy'))
    ),
    'label'      => 'Projected Start:',
    'class'      => 'form-date'
));

You could try this

$this->addElement('text', 'projected-start', array(
    'required'   => false,
    'validators'  => array (
        new Zend_Validate_Date(array('format' => 'MM/dd/yyyy'))
    ),
    'label'      => 'Projected Start:',
    'class'      => 'form-date'
));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文