2014-04-26 49 views
0

我有类似于本示例的代码,与使用AngularJS的单页应用程序很好地配合使用。我想通过使用Dart和Dart-Polymer来升级页面。Dart聚合物表单字段没有显示验证错误

在HTML5 AngularJS版本中,默认情况下验证了HTML类型。因此,填写表单时,type =“email”,type =“url”,type =“date”等工作并给出验证错误。

我已经基于类下面的例子和标记的形式Dart Polymer教程:

在现场看看,海图[” authorUrl']。

<polymer-element name="reference-form" extends="form" > 
    <template> 
    <style> ... </style> 
    <div id="slambookform" > 
     : 
     <div class="entry"> 
     <label>URL:</label> 
     <input type="url" value="{{theData['authorUrl']}}"> 
     </div> 
     : 
    </div> 
    <template> 
</polymer-element> 

不突出显示无效语法的URL字段。而使用带有HTML标记的AngularJS的相同字段的一致版本在表单输入字段周围显示带有红框的无效URL条目。

  1. 如果不突出或验证字段是默认飞镖聚合物行为:
    • 我如何可以开启”这个功能?
  2. 我需要聚合物标签吗?这是预期的行为吗?
  3. 失败了,是否有一种常用于匹配HTML5验证的解决方法或仿真模式?

在AngularJS版相同的片段是:

<form> 
     : 
    <label>URL:</label> 
    <input type="url" data-ng-model="authorUrl"/> 
     : 
</form> 

无效的输入将突出一个红色框输入的URL。

我应该解释这个问题的意图是检查Dart Polymer,AngularJS和HTML5在表单输入上的兼容性和区别。当然,要了解什么选择是让事情走上正轨。

在此先感谢。

看到:

回答

3

我做了一个小测试,并经历过这样的:验证,只有当提交形式发生。因此在输入周围需要<form>标签。

验证发生在常规情况和自定义元素中。也许棱角添加一些特殊的验证功能?

添加这个工程即使没有在这两种情况下提交表单:

<style> 
    input:invalid { 
    border: 1px solid #900; 
    } 
</style> 

问候 罗伯特

+0

这是精辟简单。但也卑鄙_complexicated_ *大声笑*。 已确认,Polymer-Dart不需要“

”标签,只有样式“input:invalid”。验证行为是一个HTML5规则,所以我想(或者)Bootstrap或AnugularJS在我的v0.01代码中提供_right-stuff_。 现在我感觉非常好,我几乎将我的单页应用程序迁移到Dart和Polymer-dart。非常感谢。 – will

+0

np,不客气:) – Robert