是否有人知道如何将星号(*)放在表单的必填字段前面。
我有很多字段,我希望在必填字段前放一个红色星号。
答案 0 :(得分:4)
答案 1 :(得分:1)
phalcon没有任何权限,只有数据库字段定义为Not NULL
时才有必需。
但是如果你想要显示*或astric标记,那么你只需要添加CSS或只是添加*到标签文件。
但是您可以将表单控制器中的参数指定为'isRequired'
,然后在伏特文件中检查if元素是否具有此值,然后显示*标记,否则不显示。
如下:
{{ element.getAttribute('isRequired') ? '<span class="required"></span>' : '' }}
在css文件中定义一个类如下:
.required {
content: "*";
color: #FF0000;
}
希望你能得到答案。它对我有用。
答案 2 :(得分:1)
您可以通过向表单元素添加自定义属性,然后在视图中检查其值来执行此操作。在下面的示例中,我设置了一个名为&#34; isRequired&#34;的属性。在每个应该要求的元素中为真
$name = new Text('name',['placeholder' => 'Your Name', 'isRequired' => true]);
$name->setFilters(['striptags', 'trim']);
$name->setLabel("Name");
$this->add($name);
在视图中我检查它的值是否为true所以我可以设置*字符。 下面的示例使用动态表单呈现,但如果您静态地记下所有表单元素,它的工作方式相同。
{%for element in form.getElements()%}
<div class="col-md-4">
<div class="form-group form-md-line-input">
{{form.render(element.GetName())}}
<label for="{{element.GetName()}}">
{{element.GetLabel()}}
{{ element.getAttribute('isRequired') ? '<span class="required">*</span>' : '' }}
</label>
</div>
</div>
{%endfor%}