Skip to main content

Form Validation in Angular.js - Quick and Simple method On Submit click - HTML5 Validation vs AngularJs Validation

  • Form Validation Before AngularJs:
    •  Validation done in java script or mostly with JQuery Validation .
    • JQuery Validation uses Html 'Class' attribute of any Html element to implement Validations, like Class = " required  "
    • And there were many different libraries to do simple and fancy validation - highlights in JQuery. 
  • HTML5 Validation:
    • In HTML5 you can add many element types and attributes like below to a HTML element for validations.
    • InputTypes:
      • email, url, number, color , date, datetime, datetime-local, month, search, tel, time, week, range
      • Ex: 
        Date: <input type="date" name="date" required> 
      • this will show a text box with a dropdown arrow for 'DatePicker' provided by the HTML5 supported browsers.
    • Attributes:   
      • required, pattern, placeholder, max, min, size,
    •  All these validations and required fields are enforced by the HTML5 supported Browsers when you click on Submit button.
    • Submit button OnClick - event will show markers to the required fields and invalid fields.
    • novalidate  - attribute tells the browser not to validate the form. 
    • CSS Style for Validation: You can style your validation alerts like this, (basically accessing the attributes)
      • input:required:invalid{border: 1px solid red;} 
      • This will show red border on all the invalid  'input' elements. 
  • AngularJs:
  •  AngularJs uses tons of directives (AngularJs Keywords or Syntax) that are all over in HTML, JavaScripts and in CSS.
  • Usually it starts with an 'ng-'
  • Simple and Quick Validation for all 'required' elements in AngularJs On Submit button click:  
  • Add the following in relevant pages.
    • In the form element:  
    • ng-submit="submitForm(someform.$valid);" novalidate
    • ex: <form   id="testform" name="testform"   ng-submit="submitForm(estform.$valid);" novalidate>
    • In the controller:  
    • $scope.submitForm = function(formvalid) {
      if (!formvalid)
      { alert("Form is invalid. Pl. check the fields for error and resubmit");}
              else{
            alert("Form is valid. Proceeding to submit.");
              SaveFormData();    //add this function to submit your data.
              }
    • In the stylesheet : 
    • /*angular styles*/form.ng-submitted .ng-invalid {
          border:  1px solid #f44d3c;
      }
    • This will highlight a red border OnSubmit button click - all the elements contains 'required' attribute in them.

 

Comments

  1. Nice article. This article also explains how to show error message and show red color border for invalid input fields after submitting form using angularjs http://coding-issues.blogspot.in/2015/09/show-red-border-for-invalid-inputs-fields-on-form-submit-angularjs.html

    ReplyDelete

Post a Comment

Popular posts from this blog

LLM on Mobile Phone : Mini Universal data and assistant running on an android smart phone Galaxy S23

  Imagine a world where everyone has access to a mini #OpenAI's #ChatGPT on their mobile phone, answering any question on any topic, right from their local phone memory. No need for internet. This is the future of #LLMs on mobile devices, and it's happening now. #MLC-AI has created a way to install a 3 billion parameter #RedPajam #LLMModel on a #Galaxy #S23 smartphone. This is a powerful #LLM that can generate text, translate languages, write different kinds of creative content, and answer your questions in an informative way. And it's all available on your phone, without the need for an internet connection. This could have a profound impact on people all over the world. Millions of suburban students who don't have access to the internet could now have access to a universal data source that can answer most of their questions. Refugee camps around the world could also benefit from this technology, giving refugees access to information and resources that they might not ot...

Javascript 3 dimentional matrix html board onclick empty current box

javascript 3 dimentional matrix html board onclick empty current box  Algorithm! Rules: 1. Only immediate Box can be swapped. Should not jump another box 2. Only directions allowed: Left, Right, Up, Down. 3. Should not swap diagonally.   See the Pen 3d matrix map numbers. by PV ( @moorthi07 ) on CodePen .   function hasClass(elem, className) {   return elem.className.split(" ").indexOf(className) > -1; } function addClick() {   var btn = '<button class="btn1">kkkkk</button>';   document.getElementById("container").innerHTML += btn; } // function boxbodyClick(obj) { //   /* console.log(';;;',obj.className) */ //   /* alert(obj) */ // } var arr = [3]; for (var i = 0; i < 3; i++) {   arr[i] = new Array(3); } var emti = 0; var emtj = 0; function btnClick(obj, i, j) {   if (arr[i][j] !== "-") {            if (j + 1 == emtj || j == emtj || j - 1 == emtj)...

Agentic AI growth could make GenAI providers to charge $1000-$2000 per month - #Cathywood , here is how.

      #Cathywood predicts that as the #agenticgenai grows the #GenAI service providers like openai, gemini, Copilot, etc will be able to charge $1000 - $2000 per month to their business customers. And she adds, "this is going to happen". Why this is important: Remember #Cathywood made a monster call in 2018, predicting that Tesla would hit $4,000 in five years. And eventually Tesla hit Wood's price target, with shares closing at $816, or $4,080 on a split adjusted basis (Jan. 2021). How this could happen: #AgenticGenAi means , 1. Integrating a business service with GenAI providers like Gemini/ChatGPT as an agent and make available in the chat interface. 2. Less human interaction and more calls to the GENAI Models. Nothing totally new, its similar to 'Ok google play a song from spotify' 'Alexa, order 8 pack dove on amazon' For example, when booking a flight, instead of navigating a complex travel website, users can simply provide a text prompt...