2013-07-27 4 views
7

Ich habe ein Formular Panel in http://jsfiddle.net/7CLWy/ hier ist mein wichtiger Codeextjs 4 - Wie ändern Standardfehlermeldung im Feld

items: [{ 
    xtype: 'textfield', 
    fieldLabel: 'First Name', 
    allowBlank: false, 
    msgTarget: 'under', 
    name: 'firstName' 
}, { 
    xtype: 'datefield', 
    allowBlank: false, 
    fieldLabel: 'Start date', 
    msgTarget: 'under' 
}], 

ich ändert Standardfehlermeldung möge im Feld

enter image description here

Wie man das ändert. Danke

+0

Haben Sie die Dokumentation gelesen? Es ist da http://docs.sencha.com/extjs/4.0.7/?mobile=/api/Ext.form.field.Base invalidText –

Antwort

15

Die blankText Eigenschaft ist die Validierungsnachricht, wenn ein Feld erforderlich ist, und invalidText ist der Text, wenn das Feld allgemein Überprüfung fehlschlägt. Sie können in diesen Eigenschaften eigene benutzerdefinierte Nachrichten hinzufügen. Wenn Sie eine Regex-basierte Validierung mit der Eigenschaft regex durchführen, können Sie das Feld regexText verwenden, um eine benutzerdefinierte Validierungsnachricht bereitzustellen.

items: [{ 
     xtype: 'textfield', 
     fieldLabel: 'First Name', 
     allowBlank: false, 
     msgTarget: 'under', 
     name: 'firstName', 
     blankText: 'This should not be blank!' 
    }, { 
     xtype: 'datefield', 
     allowBlank: false, 
     fieldLabel: 'Start date', 
     msgTarget: 'under', 
     invalidText: 'This value is not a valid date!' 
    }, { 
     xtype: 'textfield', 
     fieldLabel: 'Digits followed by A,B,or C', 
     msgTarget: 'under', 
     name: 'someText', 
     regex: /^\d+[ABC]$/, 
     regexText: 'This must be a string of digits followed by A, B, or C!' 
    }] 
+0

habe meinen Tag gerettet :) – Sikandar

-1

Um die standardmäßig aktive Fehlermeldung zu ändern, verwenden wir setActiveError (msg) .Sie sehen den folgenden Code.

+0

Das funktioniert nicht gut :( – LookAtMeNow

0

msgTarget: 'side' fügt ein Fehlersymbol rechts neben dem Feld hinzu und zeigt die Meldung in einem Popup nur bei Hover an.

, wenn Sie die Dokumentation sorgfältig lesen, eine weitere Option ist es für msgTarget http://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.field.Text-cfg-msgTarget

[element id] Fügen Sie die Fehlermeldung direkt an die innerHTML- des angegebenen Elements. Sie müssen ein "td" auf der rechten Seite des Steuerelements dynamisch mit der ID hinzufügen. Wenn Sie dann msgTarget: 'element id' angeben, wird es funktionieren.

Referenz ->ExtJS4: How to show validation error message next to textbox, combobox etc

+0

Sorry :(Ich lese, aber ich nicht versteh gut, ich versuche msgTarget: 'myid' und document.getElementById ("myid"). innerHTML = 'meine msg'; Kannst du ein funktionierendes Beispiel machen? – LookAtMeNow

0

Wir können Validator-Methode verwenden und die benutzerdefinierte Nachricht zurückgeben.

{ 
    xtype: 'textfield', 
    fieldLabel: 'Digits followed by A,B,or C', 
    msgTarget: 'under', 
    name: 'someText', 
    validator : function(value){ 
     var regex= /^\d+[ABC]$/; 
     if(!regex.test(value)){ 
       return "'This must be a string of digits followed by A, B, or C!'" 
      } 
     return true; 
    } 

}