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


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.