动态th:多个属性的attr定义

Joe*_*sey 11 thymeleaf

我正在尝试对表单的表单字段进行泛化.我想要有不同的parsley.js验证要求.html中简单字段的示例可能是:required 有2个非标准属性.

我尝试了以下方法,但得到的错误是:attr定义> 1次:

<input type=text required data-parsley-range=[1,100] />
Run Code Online (Sandbox Code Playgroud)

如何在th:attr中定义> 1个属性,只是插值?

奖金,我如何有条件地放置attrs,例如data-parsley-range,如果我可以避免它,我根本不想打印.范围也一样.

谢谢!

nmy*_*nmy 22

您可以使用逗号分隔多个属性.

<input th:attr="required=${field.isRequired ? 'required' : null}, data-parsley-range=${field.validStringLengthMin ? [${field.validStringLengthMin},${field.validStringLengthMax}] : null}" />
Run Code Online (Sandbox Code Playgroud)

如果您仍想单独保留以便更好地阅读,可以使用th:attrappend.

<input th:attr="required=${field.isRequired ? 'required' : null}" 
th:attrappend="data-parsley-range=${field.validStringLengthMin ? [${field.validStringLengthMin},${field.validStringLengthMax}] : null}" />
Run Code Online (Sandbox Code Playgroud)