Built-in methods in DataForm component

4 Nov 20253 minutes to read

The following methods can be invoked on the DataForm instance to manage validation and rendering behavior.

Validate method

The IsValid method evaluates the form data against the configured validation rules and returns the validation result. When validation fails, associated error messages are displayed next to the corresponding fields.

@using Syncfusion.Blazor.DataForm
@using System.ComponentModel.DataAnnotations
@using Syncfusion.Blazor.Buttons


<SfDataForm Width="50%"
            @ref="DataFormInstance"
            EditContext="@RegistrationDetailsContext">

    <FormValidator>
        <DataAnnotationsValidator></DataAnnotationsValidator>
    </FormValidator>

    <FormItems>
        <FormAutoGenerateItems></FormAutoGenerateItems>
    </FormItems>

</SfDataForm>

<SfButton OnClick="ClickHandler">Click for manual submission</SfButton>

@code {

    SfDataForm DataFormInstance { get; set; }

    EditContext RegistrationDetailsContext { get; set; }

    protected override void OnInitialized()
    {
        RegistrationDetailsContext = new EditContext(RegistrationDetailsModel);
        base.OnInitialized();
    }

    public void ClickHandler()
    {
        // the below method can be invoked wherever neccessary to submit the form manually.
        DataFormInstance?.IsValid();
    }

    public class RegistrationDetails
    {

        [Required(ErrorMessage = "Please enter your name")]
        public string Name { get; set; }

        [Required(ErrorMessage = "Please enter your email address")]
        [EmailAddress(ErrorMessage = "Please enter valid email address")]
        public string Email { get; set; }
    }

    private RegistrationDetails RegistrationDetailsModel = new RegistrationDetails();
}

Refresh method

Refresh method updates the form to reflect any changes in the data model or configuration.It also resets the validation state, clearing any existing validation error messages.

@using Syncfusion.Blazor.DataForm
@using System.ComponentModel.DataAnnotations
@using Syncfusion.Blazor.Buttons


<SfDataForm Width="50%"
            @ref="DataFormInstance"
            EditContext="@RegistrationDetailsContext">

    <FormValidator>
        <DataAnnotationsValidator></DataAnnotationsValidator>
    </FormValidator>

    <FormItems>
        <FormAutoGenerateItems></FormAutoGenerateItems>
    </FormItems>

    <FormButtons>
        <SfButton typeof="submit">
            Submit
        </SfButton>
        <SfButton type="button" OnClick="ClickHandler">
            Refresh
        </SfButton>

    </FormButtons>

</SfDataForm>


@code {

    SfDataForm DataFormInstance { get; set; }

    EditContext RegistrationDetailsContext { get; set; }

    protected override void OnInitialized()
    {
        RegistrationDetailsContext = new EditContext(RegistrationDetailsModel);
        base.OnInitialized();
    }

    public void ClickHandler()
    {
        // the below method can be invoked wherever necessary to refresh the form.
        DataFormInstance?.Refresh();
    }

    public class RegistrationDetails
    {

        [Required(ErrorMessage = "Please enter your name")]
        public string Name { get; set; }

        [Required(ErrorMessage = "Please enter your email address")]
        [EmailAddress(ErrorMessage = "Please enter valid email address")]
        public string Email { get; set; }
    }

    private RegistrationDetails RegistrationDetailsModel = new RegistrationDetails();
}