2014-10-29 2 views
2

Как бы вы реализовали ng-требуемое вместе с угловым u-ace в форме?ng-required с угловым ui-ace

Это моя разметка:

<form name="scriptform"> 
    <div name="script" 
     ui-ace="{ onLoad: configureAce }" 
     ng-required="" 
     ng-model="someCodez"> 
    </div> 
</form> 

{{ scriptform }} 

Из коробки он кажется ас не зацепив до угловых рамок проверки формы, с {{scriptform}} выше не печатают без какой-либо проверки формы ошибки, когда 'someCodez' равно null.

+0

В настоящее время у меня очень уродливая работа вокруг использования тузов «onChange» cb. – marko

ответ

2

Оглядываясь на документы, я думаю, что атрибут ng-required работает только вместе с элементом <input>, поэтому такой подход может оказаться невозможным.

Однако вы можете добиться аналогичных результатов, изменив $setValidity самого компонента формы. Например, когда пользователь больше не меняется содержание в Ace редактор:

$scope.configureAce = function() { 
    return { 
    onLoad: function (editor) { 
     editor.on('blur', function() { 
     if (/* test validity of someCodez */) 
      $scope.scriptForm.script.$setValidity('scriptSyntax', true); 
     else 
      $scope.scriptForm.script.$setValidity('scriptSyntax', false); 
     $scope.$digest(); 
     }); 
    } 
    }; 
}; 

Первый параметр $setValidity не является пользовательской строки вы можете проверить и F.E. использовать для отображения состояния ошибки пользователю. См. Соответствующие документы: https://docs.angularjs.org/api/ng/type/ngModel.NgModelController

+0

Да, это почти то, что я делаю. события редактора, кажется, единственный способ подключить его в текущей версии. THX за хороший ответ! – marko