So überprüfen Sie ein Textfeld für die Zahl nur in Struts 2?

Ich bin ganz neu in Struts 2. Ich bin mit drei text-Felder in meiner Seite, habe ich eine Validierung für die Anzahl bedeutet nur (0-9) auf, dass text-Felder. In meinem validation.xml Datei-code ist wie

<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
    <field name="disSlab.minAmt">

        <field-validator type="requiredstring">
            <message>Required</message>
        </field-validator>
        <field-validator type="int">
                  <param name="min">0</param>
                  <param name="max">9</param>
                  <message>Data Not Valid</message>
        </field-validator>
     </field>

    <field name="disSlab.maxAmt">
        <field-validator type="requiredstring" short-circuit="true">
            <message>Required</message>
        </field-validator>

    </field>
    <field name="disSlab.schemeValue">
        <field-validator type="requiredstring" short-circuit="true">
            <message>Required</message>
        </field-validator>

    </field>

</validators>

Ich weiß, dass <field-validator type="int"> ist nicht für die Anzahl Eingereicht . aber ich muss Eingabeaufforderung für Benutzer, wenn der Benutzer nichts eingeben außer 0 bis 9..

Können Sie mir bitte helfen abt was soll ich in diesem Eingereicht für die Validierung, so kann ich mein Problem gelöst.. vielen Dank im Adv.

Dhrumil Shah

Dies ist keine Lösung, das ist mein weiteren Details meiner Frage

Sehen, ich habe Debuggen des source-code für die Validierung lib. es generiert die client-side-code-Abfrage wie diese..

<script type="text/javascript">
  function validateForm_updateSlabDataFormId() {
      form = document.getElementById("updateSlabDataFormId");
      clearErrorMessages(form);
      clearErrorLabels(form);

      var errors = false;
      var continueValidation = true;
      //field name: disSlab.minAmt
      //validator name: requiredstring
      if (form.elements['disSlab.minAmt']) {
          field = form.elements['disSlab.minAmt'];
          var error = "requiredstring on amt";
          if (continueValidation && field.value != null && (field.value == "" || field.value.replace(/^\s+|\s+$/g, "").length == 0)) {
              addError(field, error);
              errors = true;

          }
      }
      //field name: disSlab.minAmt
      //validator name: required
      if (form.elements['disSlab.minAmt']) {
          field = form.elements['disSlab.minAmt'];
          var error = "required on amt";
          if (field.value == "") {
              addError(field, error);
              errors = true;

          }
      }
      //field name: disSlab.minAmt
      //validator name: conversion
      if (form.elements['disSlab.minAmt']) {
          field = form.elements['disSlab.minAmt'];
          var error = "Conversion needed";
      }
      //field name: disSlab.minAmt
      //validator name: int
      if (form.elements['disSlab.minAmt']) {
          field = form.elements['disSlab.minAmt'];
          var error = "Data Not Valid";
          if (continueValidation && field.value != null) {
              if (parseInt(field.value) <
                  0 ||
                  parseInt(field.value) >
                  9) {
                  addError(field, error);
                  errors = true;

              }
          }
      }
</script>

Sehen, Dieser code wird automatisch generiert. Dieser code ist gerenerated, wenn ich die Seite senden. aber nicht erzeugt, bevor Sie die Seite abschicken.. das Problem ist nur <field-validator type="conversion">
Nicht für type=erforderlich.

Können Sie mir bitte helfen um dieses Problem zu beheben..

Schließlich mein Bedürfnis ist
Ich will nicht, um neu zu laden, eine Seite für die Anzahl der Validierung oder eine andere regex-überprüfung. das ist eine Arbeit für die erforderliche Prüfung.

  • Was genau ist das problem hier? Funktioniert das nicht schon?
  • Ich glaube nicht, dass der int-validator-Angabe einer min-und max-Wert für ein String-Objekt.
  • Ja du hast Recht, aber wenn ich bin nicht falsch in Standard-stack von Abfangjägern Validierung erfolgt nach der Konvertierung wir sind also schon Validierung der int.
  • Vielen Dank für Ihre Antwort. Ya int Validierung nicht funktioniert auf client-Seite. es gibt mir eine Fehlermeldung aus inteceptor.. aber ich habe Struts-Jquery-Ajax-plugin zum Validieren von Textfeldern. wenn ich int Validierung oder regex Validierung oder Gespräch Validierung geben. die Steuerung zuerst wird mir nicht client-Seite Fehler, aber es wird das Formular abschicken und dann es gibt mir die Fehlermeldung in meinem FieldError tag. ich weiß nicht, warum das arbeiten für die erforderlichen Prüfungen Art und nicht für jede andere Art. Ich denke, Struts 2 gibt uns die grundlegende überprüfung, wie interger-Wert erforderlich, und etc...
  • Sehen Sie, ich habe Debuggen des source-code für die Validierung lib. es generiert die client-side-code-Abfrage wie diese..
InformationsquelleAutor Dhrumil Shah | 2011-06-27
Schreibe einen Kommentar