angularjs - 在 thymeleaf 中使用 '&&' 运算符进行角度验证
问题描述
我有点不知道为什么百里香不接受少数情况。
我在我的 html 页面中有这个验证:
<input id="republish" type="submit" class="btn btn-success"
ng-click="doRepublish()" value="Republish" disabled="disabled"
ng-disabled="!republishInput && republishInput.length < 7"/>
每当有 '&&' 时,thmeleaf 都会抛出这个异常:
org.xml.sax.SAXParseException:实体名称必须紧跟在实体引用中的“&”之后。
我已经检查了这个github 帖子:
Thymeleaf 2.1 使用 XML 解析器来处理您的模板(v3.0 使用 HTML 解析器,这不会发生)。所以XML解析器不知道你的内容
<script>
应该被处理为CDATA
(即忽略)并发现你&&
的确实是无效的HTML(它认为它是一个转义码)。解决方案是用 包装您的 JavaScript 代码
<![CDATA[...]]>
,例如:<script> // <![CDATA[ ...your code here // ]]> </script>
这样,您将
CDATA
明确该部分,并且 XML 解析器将理解它不必担心该块内的内容。
但这似乎是针对 xml 的。我怎么能与我的合作ng-disabled
?
解决方案
我不知道 thymeleaf 但也许你可以尝试在 HTML 中编码特殊值:
<input id="republish" type="submit" class="btn btn-success"
ng-click="doRepublish()" value="Republish" disabled="disabled"
ng-disabled="!republishInput && republishInput.length < 7"/>
尽管我建议通过调用控制器中定义的函数来替换它,例如:
<input id="republish" type="submit" class="btn btn-success"
ng-click="doRepublish()" value="Republish" disabled="disabled"
ng-disabled="!canRepublish(7)"/>
推荐阅读
- matlab - 具有“rand”函数的函数系列(Matlab)
- c# - 在扩展类中获取用户管理器
- android - 发现两个 getter 或属性的区分大小写冲突的字段:c
- python - 出于什么原因使 numpy MGrid 通过复数进行一些索引约定?
- android - 使用 SimpleExoPlayer 和 Room 作为离线缓存
- javascript - 如何让两个 JS Splice 一起工作
- c# - Windows 还原位置有时不起作用
- python - 跨数据框计算不同价格类型的价格 - Python
- javascript - Discord.JS 等待消息
- google-apps-script - 通过 Apps 脚本仅将特定范围导出为 pdf 有哪些参数?