Welcome to the nuBuilder Forums!

Register and log in to access exclusive forums and content available only to registered users.

Validazione example Topic is solved

Questions related to customising nuBuilder Forte with JavaScript or PHP.
Post Reply
Basso
Posts: 15
Joined: Sat Mar 30, 2024 9:53 am
Has thanked: 9 times

Validazione example

Unread post by Basso »

Good morning, could you help me by providing a simple example where during the validation phase of a field, the entered value is checked, and if it exceeds a predetermined value, a new window is opened asking whether to proceed or cancel data saving.


Thanks in advance
Basso
kev1n
nuBuilder Team
Posts: 4294
Joined: Sun Oct 14, 2018 6:43 pm
Has thanked: 71 times
Been thanked: 444 times
Contact:

Re: Validazione example

Unread post by kev1n »

Hi,

You can use the `nuBeforeSave` function to perform validation checks on a field before saving the data. In this function, you can use `nuGetValue` to get the value of the field you want to validate. If the value exceeds a predetermined threshold, you can use JavaScript functions to display a confirmation dialog asking the user whether to proceed or cancel the data saving.

Here's an example implementation:

Define the `nuBeforeSave` function:
- This function will be triggered before saving the data.
- Inside the function, use `nuGetValue` to retrieve the value of the field you want to validate.
- Check if the value exceeds the predetermined threshold.
- If the value exceeds the threshold, open a confirmation dialog.
- If the user chooses to proceed, return `true` to allow saving. If the user chooses to cancel, return `false` to prevent saving.

Here's a code snippet demonstrating the implementation (Add to the form's Custom Code field):

Code: Select all

function nuBeforeSave() {
    // Retrieve the value of the field you want to validate
    var fieldValue = nuGetValue('your_field_id'); // Replace 'your_field_id' with the actual object ID
    
    // Define the predetermined threshold
    var threshold = 100; // Replace 100 with the desired threshold value
    
    // Check if the field value exceeds the threshold
    if (fieldValue > threshold) {
        // Show a confirmation dialog asking the user whether to proceed
        var proceed = confirm("The value you entered exceeds the predetermined threshold of " + threshold + ". Do you want to proceed?");
        
        // Return true if the user wants to proceed, false otherwise
        if (proceed) {
            return true; // Allow data saving
        } else {
            return false; // Cancel data saving
        }
    }
    
    // If the field value does not exceed the threshold, allow data saving
    return true;
}
- The `nuGetValue('your_field_id')` function retrieves the value of the field you want to validate. Replace `'your_field_id'` with the actual ID of the field.
- The function checks if the retrieved value exceeds a predetermined threshold (in this case, 100).
- If the value exceeds the threshold, a confirmation dialog is shown using `confirm()`.
- The function returns `true` to allow data saving if the user chooses to proceed, or `false` to cancel data saving if the user chooses to cancel.
Basso
Posts: 15
Joined: Sat Mar 30, 2024 9:53 am
Has thanked: 9 times

Re: Validazione example

Unread post by Basso »

Thank you for your response.
Unfortunately, I tried to implement the code you sent me, but unfortunately I received un error code ( see below) .
I use PHP 8.2.
You will surely have understood that I'm not an expert, but thank you anyway if you want to help me

Basso


Before Save of Form FF2
/var/www/html/nuBuilderForte/core/nucommon.php(1448) : eval()'d code
syntax error, unexpected token "var"
traced from...
(line:116) /var/www/html/nuBuilderForte/core/nuapi.php - nuUpdateDatabase
(line:364) /var/www/html/nuBuilderForte/core/nudata.php - nuUpdateDatabaseRunBeforeSaveEvents
(line:623) /var/www/html/nuBuilderForte/core/nudata.php - nuEval
kev1n
nuBuilder Team
Posts: 4294
Joined: Sun Oct 14, 2018 6:43 pm
Has thanked: 71 times
Been thanked: 444 times
Contact:

Re: Validazione example

Unread post by kev1n »

Where did you insert the code? It is JavaScript and has to be placed in the form's custom code, not in a PHP event.
Basso
Posts: 15
Joined: Sat Mar 30, 2024 9:53 am
Has thanked: 9 times

Re: Validazione example

Unread post by Basso »

Many Thanks , now workink fine
Basso
Posts: 15
Joined: Sat Mar 30, 2024 9:53 am
Has thanked: 9 times

Re: Validazione example

Unread post by Basso »

Sorry kev1n,
Could you give me a small example to use in PHP BEFORE SAVING or AFTER SAVING
For example, I would like to increase the value that a user is entering by 5.


Thanks in advance
kev1n
nuBuilder Team
Posts: 4294
Joined: Sun Oct 14, 2018 6:43 pm
Has thanked: 71 times
Been thanked: 444 times
Contact:

Re: Validazione example

Unread post by kev1n »

In PHP Before Save:

Code: Select all

// Get the value of the object "test_field"
$value = '#test_field#';

if (is_numeric($value)) {
    // Increase the value of the variable by 5
    $value += 5;
    $nuMainForm   = nuHash()['nuFORMdata'][0]->id;
    // Replace the value of the object "test_field" with the new value
    nuSetNuDataValue($nudata, $nuMainForm, 'test_field', $value);
}

Basso
Posts: 15
Joined: Sat Mar 30, 2024 9:53 am
Has thanked: 9 times

Re: Validazione example

Unread post by Basso »

Many Thanks , now workink fine
Post Reply