如何不要求所需的输入

Rob*_*son 5 cakephp-1.3

我有一个Building与a相关联User.一个User也可以注册,登录,等我有我的验证设置,以便关键User领域(如email,name等)是必需的.

当我创建一个建筑时,我也提供了在现场关联用户的能力.我的构建表单包含该关键用户信息的输入:

<?php echo $this->Form->input( 'User.first_name' ) ?>
<?php echo $this->Form->input( 'User.last_name' ) ?>
<?php echo $this->Form->input( 'User.email' ) ?>
Run Code Online (Sandbox Code Playgroud)

但是,我不希望这些输入被指示为b/c我希望用户能够创建Building without necessarily creating aUser`记录.我无法找到的方法是从验证规则放在那里的div中删除所需的类.

我已经尝试了各种组合'required' => false和设置class值,但到目前为止还没有任何工作.有没有一种不需要表单输入的好方法?

谢谢.

Jac*_*son 5

我想这已经很长时间了,但这里是"正确"的方法,不需要输入元素(至少在Cake 2.4.1中):

echo $this->Form->input('studentid', array(
    'label' => __('Student ID'),
    'required' => false
));
Run Code Online (Sandbox Code Playgroud)

简单地通过'required' => false.

我真的希望我能说我知道如何自动触发此行为,但修改我的模型似乎不会影响自动生成的<input>元素.如果/当我搞清楚时,我会更新这篇文章.


Rob*_*son 0

我很惊讶 deceze 的解决方案对我不起作用(也许我只是做错了什么),但我最终不得不使用 Javascript“手动”从每个字段的包含 div 中删除所需的类。