Activities of "ageiter"

  • ABP Framework version: v7.0.1
  • UI type: Blazor Server
  • DB provider: EF Core

We use the two factor authentication. It works perfectly via email and SMS. But we want to force the user to do the verification via phone. He should not see the dropdown "Selected provider". How can I do this?

  • ABP Framework version: v7.0.1
  • UI type: Blazor Server
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

We have a situation where we want to click again on an already selected menu item to reload that view. But nothing happens when we click on it. In our case this is necessary because we have a grid with orders in this view. If we select an order, the report of this order opens. Afterwards, we want to get back to the order overview and usually do this by clicking on the menu button (which is still selected, though).

Also in the admin area this does not work, there you have to use the "Back" button.

In version 5.3.1 this had worked (Lepton Theme, not LeptonX).

Do you have a solution to this?

Regards, Adrian

Ok, I have now applied a workaround to solve the problem.

hi

This line doesn't set the ServiceProvider of ValidationContext

if (NewTestDataContext.Validate() == false) 
{ 
    return; 
} 

I know that, but it would be interesting to know how I would have to do it... setting the ServiceProvider.

What does that mean exactly? It is not possible with Blazor? If yes, why? Or you have found a bug that you are going to fix?

Because for me your "solution" means that I can't output multilingual validation messages.

I have now been able to recreate the problem in a test project. I have emailed you the OneDrive download link for the test project.

In order for you to reproduce this, you need to create and save a new test element in my project.

I use the ObjectGraphDataAnnotationsValidator to validate a more complex object (doesn't make sense in the example, of course, but I had to include it since it's probably part of the problem).

Tests.razor (sorry, I had to change the HTML code so I could paste it here):

< EditForm id="CreateTestForm" EditContext="NewTestDataContext">
            
    < ObjectGraphDataAnnotationsValidator />

    < ModalHeader>
        < ModalTitle>@L["NewTest"]</ModalTitle>
        < CloseButton Clicked="CloseCreateTestModalAsync" />
    < /ModalHeader>
    < ModalBody>

        < Validation>
            < Field>
                < FieldLabel>@L["DocumentName"]</FieldLabel>
                < TextEdit @bind-Text="@NewTest.Document.DocumentName">
                    < Feedback>
                        < ValidationError />
                    < /Feedback>
                < /TextEdit>
            < /Field>
            < ValidationMessage For="() => NewTest.Document.DocumentValidation"></ValidationMessage>
        < /Validation>

    < /ModalBody>
    < ModalFooter>
        < Button Color="Color.Secondary" Clicked="CloseCreateTestModalAsync">
            @L["Cancel"]
        < /Button>
        < SubmitButton Form="CreateTestForm" Clicked="CreateTestAsync" />
    < /ModalFooter>
< /EditForm>

When validating DocumentDto.cs the error happens:

public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
    var results = new List<ValidationResult>();

    // This is not working when using EditContext !!!
    var l = validationContext.GetRequiredService<IStringLocalizer<Abp4146Resource>>(); 
    var errorMessage = l["Test:ValidationMessage"].Value;

    // Do some validation

    results.Add(new ValidationResult(errorMessage, new[] { nameof(DocumentValidation) }));
    
    return results;
}

Exception: System.InvalidOperationException: 'No service for type 'Microsoft.Extensions.Localization.IStringLocalizer`1[Abp4146.Localization.Abp4146Resource]' has been registered.'

What I found out: If I don't use the EditContext for the EditForm, but the model, then it works. But in my concrete project I need the EditContext...

This is working: &lt;EditForm id=&quot;CreateTestForm&quot; Model=&quot;@NewTest&quot;&gt; This is NOT working: &lt;EditForm id=&quot;CreateTestForm&quot; EditContext=&quot;NewTestDataContext&quot;&gt;

I wanted to make an example project, but there it works. I haven't figured out where the difference is and why it doesn't work in my other project...

Unfortunately, I can no longer reply here because the ticket is locked. But you said that you will get in touch when the individual points are done. Unfortunately I have not heard anything more about 8 of 9 points. Are certain things already fixed or planned for when? Currently I have version 6.0.1.

  • ABP Framework version: v6.0.1
  • UI type: Blazor Server
  • DB provider: EF Core
  • Exception message and stack trace: No service for type 'Microsoft.Extensions.Localization.IStringLocalizer`1[MyProject.Localization.MyProjectResource]' has been registered.

This is actually the same question as @balessi75 has already asked here: #3862

I want to use my string resources in a DTO (MyProject.Application.Contracts).

public IEnumerable&lt;ValidationResult&gt; Validate(ValidationContext validationContext)
{
    var results = new List&lt;ValidationResult&gt;();
    var l = validationContext.GetRequiredService&lt;IStringLocalizer&lt;MyProjectResource&gt;>();
    var errorMessage = l["Entity:DocumentType:IsRequired:ValidationText"].Value;
    
    ...
    
    return results;
}

Unfortunately, I have not figured out how to register the IStringLocalizer correctly. I have read the mentioned documentation and searched for it, but somehow it doesn't work for me. I always get the following error message:

Unhandled exception rendering component: No service for type 'Microsoft.Extensions.Localization.IStringLocalizer`1[MyProject.Localization.MyProjectResource]' has been registered.
System.InvalidOperationException: No service for type 'Microsoft.Extensions.Localization.IStringLocalizer`1[MyProject.Localization.MyProjectResource]' has been registered.
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at MyProject.Shared.DocumentDependentBase.Validate(ValidationContext validationContext) in 

Can you tell me how to register it in my module?

Thanks!

Showing 201 to 210 of 243 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 19, 2024, 10:13