/**
* @Assert\True(message = "手机号格式不正确")
*/
public function isPhoneLegal ()
{
if (!preg_match('/^1[0-9]{10}$/', $this->phone)) {
return false;
}
return true;
}
如上在Entity中写了一个Getter的方法来检验手机号,按我的逻辑来这个方法的错误消息应该属于字段为phone的表单项。但是实际上是属于整个表单的错误
这个给我造成许多困扰,我在twig中重构了errors,如下:
{# 重构errors样式 #}
{% form_theme form _self %}
{%- block form_errors -%}
{%- if errors|length > 0 -%}
<div class="am-alert am-alert-danger" style="">
{%- for error in errors -%}
{{ error.message }}
{%- endfor -%}
</div>
{%- endif -%}
{%- endblock form_errors -%}
这样子会直接在页面输出整个表单的错误。如下:
求大神解决方法,拜谢