Maison >interface Web >tutoriel CSS >Comment implémenter la validation côté serveur pour les zones de texte dynamiques dans un tableau ?

Comment implémenter la validation côté serveur pour les zones de texte dynamiques dans un tableau ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-29 11:33:09672parcourir

How to Implement Server-Side Validation for Dynamic Textboxes in a Table?

Définir la validation de classe pour les zones de texte dynamiques dans un tableau

Problème :

Un tableau contient une rangée de zones de texte dynamiques, mais la validation de classe doit être appliquée à chaque zone de texte côté serveur validation.

Solution :

Les attributs data-val nécessaires pour la validation et les espaces réservés aux messages de validation sont manquants dans les zones de texte dynamiques. Voici comment les mettre en œuvre :

1. Ajouter des attributs de validation et un espace réservé :

Dans la vue, ajoutez des attributs data-val et leurs éléments d'espace réservé correspondants pour afficher les messages de validation :

@Html.TextBoxFor(m => m.TargetInfo[i].TargetColor_U, new { id = "", @class = "form-control" })
@Html.ValidationMessageFor(m => m.TargetInfo[i].TargetColor_U)

2. Inclure un espace réservé pour les zones de texte restantes :

S'il n'est pas déjà présent, ajoutez des attributs data-val et des espaces réservés de message de validation pour les zones de texte restantes.

3. Transformer les lignes dynamiques :

Dans le script, clonez la ligne du modèle avec des espaces réservés (# pour l'indexeur) et remplissez-la avec des données réelles :

var clone = newrow.clone(); // clone the new row
clone.html($(clone).html().replace(/#/g, index)); // update the indexer of the clone

4. Insérer une nouvelle ligne et analyser la validation :

Insérez la nouvelle ligne dans le tableau et analysez la validation pour l'appliquer aux zones de texte dynamiques :

tablebody.append(row); // add the new row to the table
form.data('validator', null);
$.validator.unobtrusive.parse(form);

Remarques supplémentaires :

  • Utilisez CSS au lieu des styles en ligne pour styliser le table.
  • Envisagez d'utiliser l'assistant BeginCollectionItem avec une vue partielle pour la maintenabilité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn