QeePHP 开源社区 - 引领 PHP 开发新思想、新模式's Archiver

bugx 发表于 2009-6-30 21:39

这次下的新版本发现2个变化,没以前爽

第一个是 生成的代码中,model部分不会根据数据库自动生成
array('not_empty', 'XXX不能为空'),
这个验证。

第二个是,model里的验证,怎么不会再form提交失败的时候在边上显示了?
而是抛出异常,自己要捕获处理了。。


不知道其他人有没有碰到
[code]        function actionNew()
        {
                $form = new Form_Misc(url('tripclass/new'),'tripclassnew_form.yaml');
                if ($this->_context->isPOST() && $form->validate($_POST))  
                {
                        try
                        {
                                //创建对象
                       
                                $tripclass =new Tripclass($form->values());
                                $tripclass->save();
                                //dump($form->values());

                                return $this->_redirectMessage(
                                        '添加分类成功',
                                        '浏览器将自动跳转,如长时间不调整请点击这里',
                                url('tripclass/index'));
                        }
                        catch(QValidator_ValidateFailedException $e)
                        {
                                $form['classname']->invalidate("这个分类名已经存在了");
                        }
                }

                //dump ($form);
                $this->_view['form'] = $form;
        }[/code]

以前的版本,比如不能为空啊,不是int型这些都会直接显示在提交后的页面上的。。

jerry2801 发表于 2009-6-30 22:11

我都是把默认生成的验证去除的

模型抛出异常与外部对接,是非常优雅的事情,值得支持的

dualface 发表于 2009-6-30 22:21

除了第一点,其他好像一直都是这样的吧

bugx 发表于 2009-6-30 22:27

[quote]我都是把默认生成的验证去除的

模型抛出异常与外部对接,是非常优雅的事情,值得支持的
[size=2][color=#999999]jerry2801 发表于 2009-6-30 22:11[/color] [url=http://qeephp.com/bbs/redirect.php?goto=findpost&pid=46937&ptid=7892][img]http://qeephp.com/bbs/images/common/back.gif[/img][/url][/size][/quote]

呃。就是图这个功能方便。

bugx 发表于 2009-6-30 22:28

[quote]除了第一点,其他好像一直都是这样的吧
[size=2][color=#999999]dualface 发表于 2009-6-30 22:21[/color] [url=http://qeephp.com/bbs/redirect.php?goto=findpost&pid=46939&ptid=7892][img]http://qeephp.com/bbs/images/common/back.gif[/img][/url][/size][/quote]

不一样啊。原来会直接返回到表单元素的边上,除了一些行为插件的验证要自己捕捉异常。

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.