如何翻译验证约束消息
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 5.2,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
如何翻译验证约束消息
控件的转换资源可以转换表单中的错误消息验证器
翻译领域.
首先,运行以下命令安装Symfony翻译组件(如果它欧宝娱乐app下载地址还没有安装在您的应用程序中):
1
$作曲家需要交响乐/翻译欧宝娱乐app下载地址
假设你已经创建了一个普通的老php对象,你需要在应用程序的某个地方使用:
1 2 3 4 5 6 7
/ / src /实体/ Author.php名称空间应用程序\实体;类作者{公共$的名字;}
通过任何受支持的方法添加约束。将消息选项设置为翻译源文本。例如,保证美元的名字
属性不为空,请添加以下内容:
- 注释
- 属性
- YAML
- XML
- PHP
12 3 4 5 6 7 8 9 10 11 12
/ / src /实体/ Author.php名称空间应用程序\实体;使用欧宝娱乐app下载地址\组件\验证器\约束作为断言;类作者{/ * * *@Assert\ NotBlank(消息= " author.name.not_blank ") * /公共$的名字;}
1 2 3 4 5 6 7 8 9 10
/ / src /实体/ Author.php名称空间应用程序\实体;使用欧宝娱乐app下载地址\组件\验证器\约束作为断言;类作者{#[断言\ NotBlank(信息:“author.name.not_blank”)]公共$的名字;}
1 2 3 4 5
#配置/验证器/ validation.yaml应用实体\ \作者:属性:名称:-NotBlank:{信息:“author.name.not_blank”}
12 3 4 5 6 7 8 9 10 11 12 13 14 15
<!--config/validator/validation.xml --><??> . xml version="1.0" encoding="UTF-8"<constraint-mappingxmlns=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/constraint-mapping”xmlns: xsi=“http://www.w3.org/2001/XMLSchema-instance”xsi: schemaLocation=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/constraint-mapping //www.oldmanjams.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd”><类的名字=“应用程序作者\实体\”><财产的名字=“名称”><约束的名字=“NotBlank”><选项的名字=“消息”>author.name.not_blank选项>约束>财产>类>constraint-mapping>
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/ / src /实体/ Author.php名称空间应用程序\实体;/ /……使用欧宝娱乐app下载地址\组件\验证器\约束\NotBlank;使用欧宝娱乐app下载地址\组件\验证器\映射\ClassMetadata;类作者{公共$的名字;公共静态函数loadValidatorMetadata(ClassMetadata$元数据){$元数据->addPropertyConstraint (“名字”,新NotBlank ([“消息”= >“author.name.not_blank”)));}}
现在,创建一个验证器
目录文件中的翻译/
目录:
- XML
- YAML
- PHP
12 3 4 5 6 7 8 9 10 11 12
<!--翻译/验证器/validators.en.xlf --><??> . xml version="1.0" encoding="UTF-8"<xliff版本=“1.2”xmlns=“urn: oasis:名称:tc: xliff文档:1.2”><文件通过读=“en”数据类型=“明文”原始=“file.ext”><身体><trans-unitid=“author.name.not_blank”><源>author.name.not_blank源><目标>请输入作者姓名。目标>trans-unit>身体>文件>xliff>
1 2
#翻译/验证/ validators.en.yamlauthor.name.not_blank:请输入一个作者的名字。
1 2 3 4
/ /翻译/验证/ validators.en.php返回[“author.name.not_blank”= >“请输入作者姓名。”,);
在第一次创建该文件后,您可能需要清除缓存(即使在开发环境中)。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。