2016-05-13 50 views
1

我目前正在開發一個有很多表單的角度應用程序。當然,有很多參與的形式進行驗證,並且也有很多設置錯誤一流的,設置成功級等每個輸入的角度表單驗證類

現在,只需輸入字段看起來是這樣的:

<div 
    class="form-group" 
    ng-class="{ 
    'has-error': 
     form_provider_contact_data.company_name.$invalid && 
     !form_provider_contact_data.company_name.$pristine && 
     form_provider_contact_data.company_name.$touched, 
    'has-success': 
     form_provider_contact_data.company_name.$valid && 
     !form_provider_contact_data.company_name.$pristine && 
     form_provider_contact_data.company_name.$touched 
    }"> 
    <label class="col-sm-4 control-label" for="company_name"> 
    {{ 'LABEL_COMPANY_NAME' | translate }} 
    </label> 
    <div class="col-sm-8"> 
    <input 
     name="company_name" 
     type="text" 
     class="form-control" 
     id="company_name" 
     placeholder="{{ 'LABEL_COMPANY_NAME' | translate }}" 
     ng-model="contact_data.company_name" 
     required> 
    <p class="help-block"> 
     Bitte geben Sie einen Firmennamen an. 
    </p> 
    </div> 
</div> 

隨着大量的表單/輸入,它將變得非常類似的代碼噸,這是很難保持。應該有一種方法,以編程方式創建這個輸入字段,但現在很緊張,我現在不是什麼最好的方法。 有人能指引我正確的方向嗎?一些解釋:我正在尋找一種方法來創建一個模板(或類似的東西)的幫助下,也許只是通過設置一些參數(例如名稱/ ID,驗證,標籤和錯誤等等)的幫助下創建一個輸入元素。 。)

+0

有很多爲此設計的框架:https://github.com/json-schema-form/angular-schema-form –

+0

我認爲ngMessages比你的方法更好。這裏https://docs.angularjs.org/api/ngMessages – oguzhan00

回答

0

我不完全確定是否你是問有關驗證:

表單驗證類爲每個輸入

或生成形式編程:

應該有一種方法,以編程

無論哪種方式的東西,可能是有用的創建此輸入字段:https://docs.angularjs.org/api/ngMessages/directive/ngMessages

(使管理與表單驗證所有的錯誤條件多更易於管理,它是1.3以來的核心Angular的一部分)

+0

謝謝,這已經是我想到的另一個問題的解決方案;)但主要問題稍有不同,我編輯了我的問題以供澄清。 – jacksbox

+0

這一個已經在評論中提到 - http://schemaform.io/ - 另一個類似的項目 - https://www.forms-angular.org/ –

0

看起來像你想要使用AngularJS表單驗證以及Boots陷阱的表單驗證類。手動做會產生很多非DRY代碼。因此,您可以爲此驗證創建通用指令。

我最近發表了一個涼亭組件http://sagrawal14.github.io/bootstrap-angular-validation/以達到同樣的效果。看一下這個。