Git Product home page Git Product logo

Comments (2)

fatters avatar fatters commented on May 30, 2024 13

I just got it working using ReactiveFormsModule, so will show you how I did it.

My form group is nothing special. Just a simple form where someone checks a box to report an item.

Module:

import { RecaptchaModule } from 'ng-recaptcha';
import { RecaptchaFormsModule } from 'ng-recaptcha/forms';

@NgModule({
    imports: [
        RecaptchaModule.forRoot(),
        RecaptchaFormsModule
    ]
})

Markup:

<form novalidate (ngSubmit)="onSubmit()" [formGroup]="reportForm">
    <ul>
        <li><label><input type="radio" checked="checked" formControlName="reason" value="firstReason" /> First Reason</label></li>
        ...
    </ul>
    <p><re-captcha [formControlName]="'recaptcha'" siteKey="key"></re-captcha></p>
    <button [disabled]="reportForm.invalid">Submit</button>
</form>

Form Group:

ngOnInit() {
    const initialChecked: string = 'firstReason';

    this.reportForm = new FormGroup({
        reason: new FormControl(initialChecked),
        recaptcha: new FormControl(null, Validators.required)
    });
}

You have to have RecaptchaFormsModule imported as well as the usual one.

Ensure what you enter in your [formControlName] is a string representation of the name of the control, not just the name itself.

When the recaptcha hasn't been done, this.reportForm.valid will be false and this.reportForm.value.captcha will be null. Then obviously, the opposite is true if they have completed the recaptcha.

Then in my onSubmit method, I just call my service that sends the report reason and send the recaptcha value to where it needs to be.

Hope that's of any use.

from ng-recaptcha.

DethAriel avatar DethAriel commented on May 30, 2024

Hello! Is there a particular issue you're running into when trying to use the module with dynamic forms?

from ng-recaptcha.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.