0

I am a beginner with symfony and got a question.

I am trying to do an email validation from thenewbostom.

In the guide he says that you need to put the php file in the .post function. With normal PHP I could've done this easily but with the different map structure, I don't know.

Can someone give me a right direction?

My twig (only the email input with span)

<input id="autocomplete" type="text" name="email" class="autocomplete validate">
<span id="email_feedback"></span>

My js (that I linked in the twig file and the post function)

function validate_email (email) {
    $.post(/*php file is supoosed to be here*/,{ email:email}, function (data) {
        $('#email_feedback').text(data);
    });
}

$('#autocomplete').focusin(function () {
    if ($('#autocomplete').val() === '') {
        $('#email_feedback').text('Type een geldige email');
    } else {
        validate_email($('#autocomplete').val());
    }
}).blur(function () {
    $('#email_feedback').text('');
}).keyup(function () {
    validate_email($('#autocomplete').val());
});

And for the last my php file

 /**
 * @Route("/")
 */
public function indexAction()
{
    if (isset($_POST['email'])) {
        $email = $_POST['email'];
        echo $email;
    }
    return $this->render('BontekoeCinemaBundle:Default:index.html.twig');
}

1 Answer 1

1

From JQuery API documentation: jQuery.post( url [, data ] [, success ] [, dataType ] ), so basically you want to write

function validate_email (email) {
    $.post('http://myhost.com/myRoute1', { email:email}, function(data) {
        $('#email_feedback').text(data);
    });
}

Then you need to implement the route

/**
 * @Route("/")
 */
public function indexAction()
{
    if (isset($_POST['email'])) {
        $email = $_POST['email'];
        echo $email;
    }
    return $this->render('BontekoeCinemaBundle:Default:index.html.twig');
}

/**
 * @Route("/myRoute1")
 */
public function autoCompleteEmailAction()
{
    // get parameter(s)...
    // search in database...
    // return result(s)...
}
Sign up to request clarification or add additional context in comments.

Comments

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.