2014-09-11 130 views
0

我想创建一个指令与input。此input可能可能需要required属性。如何将“required”属性动态添加到指令模板?

例如

<my-input name="test" required/> 

<my-input name="test" /> 

现在,在我的指导我有这样的一个模板:

<input type="text" name="{{name}}" /> 

现在,如果我添加验证工作正确的模板内required属性。但我当然需要动态地添加它。所以我使用下面的代码来添加属性。

if (attributes["required"] != undefined) 
{ 
    var input = element.find("input"); 
    input.prop("required", true); 
} 

我曾尝试把这个代码linkpre compile内部和HTML渲染正确,但是,这并不工作。

我是新的指令,所以我显然是在讨论这个错误。

我应该如何添加required属性?

回答

0

我已经找到了如何在指令中做到这一点,而不是让角度机制工作。基本上只使用正常的验证技术。

if (attributes["required"] != undefined) 
{ 
    controller.$setValidity("required", !(scope.Model.Value == null || scope.Model.Value.length === 0 || scope.Model.Value.trim() === "")); 
}