【发布时间】:2017-03-20 18:42:52
【问题描述】:
有谁知道如何将星号(*)放在表单的必填字段前面。
我的表单中有很多字段,我想在必填字段前面加上一个红色星号。
【问题讨论】:
有谁知道如何将星号(*)放在表单的必填字段前面。
我的表单中有很多字段,我想在必填字段前面加上一个红色星号。
【问题讨论】:
你可以添加一个css类:
label.required::after {
content: "*";
color: #FF0000;
}
【讨论】:
phalcon 中没有特权,只有它定义为Not NULL 的数据库字段才具有强制性。
但如果你想显示 * 或 astric 标记,那么你只需要添加 CSS 或简单地将 * 添加到标签字段。
但是您可以将表单控制器中的参数分配为'isRequired',然后在 volt 文件中检查 if 元素确实将此值设置为 true,然后显示 * 标记,否则不显示。
如下:
{{ element.getAttribute('isRequired') ? '<span class="required"></span>' : '' }}
并在 css 文件中定义如下的类:
.required {
content: "*";
color: #FF0000;
}
希望你能得到答案。它对我有用。
【讨论】:
您可以通过向表单元素添加自定义属性并在您的视图中检查其值来做到这一点。在下面的示例中,我在每个应该需要的元素中将一个名为“isRequired”的属性设置为 true
$name = new Text('name',['placeholder' => 'Your Name', 'isRequired' => true]);
$name->setFilters(['striptags', 'trim']);
$name->setLabel("Name");
$this->add($name);
在视图中,我检查它的值是否为真,以便我可以设置 * 字符。 下面的示例使用动态表单呈现,但如果您静态写下所有表单元素,它的工作原理相同。
{%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%}
【讨论】: