0

I wrote a form validation in angularjs but it does not work.

When I send form with empty fields form has class 'ng-valid' and 'ng-hide' doesn't remove from error.

<form name="form" ng-submit="createUser(user)" novalidate>
    <div class="form-group">
        <label for="name">Nazwa użytkownika:</label>
        <input type="text" name="name" id="name" class="form-control" ng.model="user.name" required="">
        <div ng-show="form.$submitted || form.name.$touched">
            <div ng-show="form.name.$error.required">Podaj nazwę użytkownika.</div>
        </div>
    </div>
    <div class="form-group">
        <label for="email">Adres e-mail:</label>
        <input type="email" name="email" id="email" class="form-control" ng.model="user.email">
        <div ng-show="form.$submitted || form.email.$touched">
            <span ng-show="form.email.$error.required">Podaj adres e-mail.</span>
            <span ng-show="form.email.$error.email">Adres e-mail jest nieprawidłowy.</span>
       </div>
    </div>
    <div class="form-group">
        <label for="role">Rola użytkownika:</label>
        <select name="role" id="role" class="form-control" ng-model="user.role">
            <option value="3">klient</option>
            <option value="2">pracownik</option>
            <option value="3">admin</option>
        </select>
        <div ng-show="form.$submitted || form.role.$touched">
            <span ng-show="form.role.$error.required">Wybierz rolę użytkownika.</span>
        </div>
    </div>
    <button type="submit" class="btn btn-primary">Dodaj użytkownika</button
</form>

1 Answer 1

3

You have a typo in some of your ng-model. It should be ng-model instead of ng.model. You have to set ng-required="true" or you can simply put required across all your mandatory fields

<input type="text" name="name" id="name" class="form-control" ng-model="user.name" ng-required="true">
Sign up to request clarification or add additional context in comments.

3 Comments

ng-model not ng.model
And required="" does not make a difference. required="" or ng-required="true" or required works just fine.
Yes I know but the OP hasn't put required="" across all mandatory fields

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.