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...

Will Software engineer salary hit $1 million by year 2030

Are today’s Developers over loaded with too many tasks?! In 90s and till late 2000s there were many different job positions in an IT team that only do certain task. There was no Frontend engineers and backend engineers as most of the applications were thin clients in the browser side as the internet band width was very slow. There were jobs like Database Admins, Server Admins, Site Admins and so on to deal with one specific task.   Ever since the Startup culture took off again after the dotcom boom in the mid 2000s , in many cases the founder(s) had to do all tasks. Every single thing involved in the complete SDLC are done by one or two founders and hence there is more in their plate to get funding , business development etc.   And as the World internet infrastructure moved from dialup to DSL to Broadband, the browser apps became THICK CLIENTS. The corporate companies now started adopting Startup cultures into their companies IT strategy and thus Agile SDLC beca...

Ohmni robot disassembly - Parts and structure inside Ohmni Telepresence Robot - Tear down

    The tablet, speakers were disconnected and removed in different video.    Ohmni robot disassembly - Parts and structure inside Ohmni Telepresence - Design - Mechonical and Electrical components .