Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation Play Framework 1.2.4:检查是否存在特定错误_Validation_Playframework - Fatal编程技术网

Validation Play Framework 1.2.4:检查是否存在特定错误

Validation Play Framework 1.2.4:检查是否存在特定错误,validation,playframework,Validation,Playframework,我试图在某些字段验证失败时显示一条通用错误消息,在其他字段验证失败时显示更具体的消息。但是,我还没有找到一种方法来通过它们的键检查是否存在多个错误 我知道我可以用{ifError'key}检查一个错误,也可以用{ifError}检查多个错误,但是如何检查多个错误键,比如{if(error'keyA'.\124; error'keyB')?多个if语句将不起作用,因为如果存在某些错误,我希望通用消息只显示一次 下面的代码片段显示了我试图做的事情: <!-- Only if there's a

我试图在某些字段验证失败时显示一条通用错误消息,在其他字段验证失败时显示更具体的消息。但是,我还没有找到一种方法来通过它们的键检查是否存在多个错误

我知道我可以用
{ifError'key}
检查一个错误,也可以用
{ifError}
检查多个错误,但是如何检查多个错误键,比如
{if(error'keyA'.\124; error'keyB')
?多个if语句将不起作用,因为如果存在某些错误,我希望通用消息只显示一次

下面的代码片段显示了我试图做的事情:

<!-- Only if there's an error on the 'specific' field will this div 
     be populated. -->
<div class="specificError">#{error 'specific' /}</div>

<!-- If there are other errors, display a generic error message.
     This if statement won't compile but shows what I want to do. -->
#{if (error 'fieldA' || error 'fieldB')}
    <div class="genericValidateError">&{'error.validation'}</div>
#{/if}

#{错误'specific'/}
#{if(错误'fieldA'| |错误'fieldB')}
&{'error.validation'}
#{/if}

欢迎所有建议,包括建议替代验证方法的建议。

您可以访问验证对象,直接检查以下字段

#{if play.data.validation.Validation.current().hasError("fieldA") || 
     play.data.validation.Validation.current().hasError("fieldB") }

   <div class="genericValidateError">&{'error.validation'}</div>
#{/if}
{if play.data.validation.validation.current().hasrerror(“fieldA”)|
play.data.validation.validation.current().hasrerror(“fieldB”)}
&{'error.validation'}
#{/if}

也许最好的方法是创建自己的FastTag。至少我认为它是一个更好的选择(易于在不同的视图中测试和重用)。您可以在这里看到如何创建自己的快速标记:。

我在文档中找不到示例,但您的建议成功了。谢谢