কৌণিক জেএস <ইনপুট> কোনও এনক্লোজিং <বৈধকরণ <বৈধকরণ ছাড়া বৈধতা


100

<input>ফর্মগুলি যাচাই করা হয়েছে একইভাবে বিচ্ছিন্নভাবে কোনও একককে বৈধতা দেওয়া কি কৌণিক ক্ষেত্রে সম্ভব ? আমি এই জাতীয় কিছু সম্পর্কে চিন্তা করছি:

<div class="form-group">
    <input name="myInput" type="text" class="form-control" ng-model="bindTo" ng-maxlength="5">
    <span class="error" ng-show="myInput.$error.maxlength">Too long!</span>
</div>

উপরের উদাহরণটি কাজ করে না। এটিকে বন্ধ করে দেওয়া এবং সহায়তার সাথে <form>প্রতিস্থাপন ng-showকরা ng-show="myForm.myInput.$error.maxlength"।

এটি ব্যবহার না করে এটি করা সম্ভব <form>?


4
আপনি কি এটা চেষ্টা করেছেন? যদিও আমি মনে করি না এটি, যদিও আমি বিশ্বাস করি form.FormControllerযে valid\invalid & dirty\pristine. কৌতুকগ্রহ
— এপি /

উত্তর:


184

আপনি এইচটিএমএল ফর্মের বাইরেও কিছু গোছাতে এনজি-ফর্ম কৌনিক নির্দেশ ( এখানে ডক্স দেখুন ) ব্যবহার করতে পারেন । তারপরে, আপনি কৌণিক ফর্মকন্ট্রোলারের কাছ থেকে সুবিধা নিতে পারেন।

<div class="form-group" ng-form name="myForm">
    <input name="myInput" type="text" class="form-control" ng-model="bindTo" ng-maxlength="5">
    <span class="error" ng-show="myForm.myInput.$error.maxlength">Too long!</span>
</div>

উদাহরণ


এই উত্তর গৃহীত। এটাই আমি খুঁজছিলাম, যদিও উত্তরটি কিছুটা দেরিতে এসেছে :)
— ওয়াজটেক

4
এটি আমাকেও সাহায্য করেছিল। আমি আমার চুল টেনে বের করে এনে হোঁচট খাচ্ছিলাম। ধন্যবাদ!
— অ্যালেক্স ম্যাককেবে

4
ভবিষ্যতের পাঠকদের জন্য যারা এই জাতীয় ফর্মটি কোনও বোতামের এনজি-ক্লিক ইভেন্টে বৈধতা দিতে চান তাদের জন্য এখানে দেখুন: stackoverflow.com/a/24123379/1371408
— ম্যাটি জে

পৃথক বৈধকরণের একাধিক ইনপুট উদাহরণ plnkr.co/edit/wuOExkq4LXEiDELm2C6E?p= পূর্বরূপ
— নাথান রেডব্লুর

@ সিলভিওলুকাস - আপনার উদাহরণটি এখনও ক্ষেত্রটি খালি থাকলেও "চালানো" ...?
— কলম্বে

0

সিলভিও লুকাসের জবাবের ভিত্তিতে বিল্ডিং, যদি আপনি কোনও লুপে পুনরাবৃত্তি করেন এবং ফর্মের নাম এবং বৈধ রাষ্ট্রগুলি বিভক্ত করতে সক্ষম হন:

<div
  name="{{propertyName}}"
  ng-form=""
  class="property-edit-view"
  ng-class="{
    'has-error': {{propertyName}}.editBox.$invalid,
    'has-success':
      {{propertyName}}.editBox.$valid &&
      {{propertyName}}.editBox.$dirty &&
      propertyValue.length !== 0
  }"
  ng-switch="schema.type">
  <input
    name="editBox"
    ng-switch-when="int"
    type="number"
    ng-model="propertyValue"
    ng-pattern="/^[0-9]+$/"
    class="form-control">
  <input
    name="editBox"
    ng-switch-default=""
    type="text"
    ng-model="propertyValue"
    class="form-control">
  <span class="property-type" ng-bind="schema.type"></span>
</div>

-4
<!DOCTYPE html>
<html ng-app="plunker">
<head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js">   </script>

</head>

<body ng-controller="MainCtrl">
    <div class="help-block error" ng-show="test.field.$error.required">Required</div>
    <div class="help-block error" ng-show="test.firstName.$error.required">Name Required</div>
    <p>Hello {{name}}!</p>
    <div ng-form="test" id="test">
        <input type="text" name="firstName" ng-model="firstName" required> First name <br/> 
        <input id="field" name="field" required ng-model="field2" type="text"/>
    </div>
</body>
<script>
    var app = angular.module('plunker', []);

    app.controller('MainCtrl', function($scope) {
      $scope.name = 'World';
      $scope.field = "name";
      $scope.firstName = "FirstName";
      $scope.execute = function() {
        alert('Executed!');
      }
    });

</script>


4
এটি কি স্ট্যাকওভারফ্লো . com/a/25342654/2333214 থেকে আলাদা ? যদি তা হয় তবে কীভাবে এটি আলাদা হয় তার একটি ব্যাখ্যা আপনি যুক্ত করতে পারেন?
— টিজে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.