Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
149637 stories
·
33 followers

Live Unit Testing

1 Share
From: VisualStudio
Duration: 22:00
Views: 215

Phil shows how to have your unit tests execute automatically and in real time as your make code changes.

⌚ Chapters:
00:00 Welcome
01:30 General discussion on testing
04:30 Review of demo app that will be tested
06:25 Starting and configuring Live Unit Testing
07:10 Demo of using Live Unit Testing
11:30 Discussion of performance implications
13:20 Configuring Live Unit Testing to skip tests and assemblies
17:45 Using a .runsettings file to configure how unit tests are run
19:45 Discussion of benefits
21:00 Wrap-up

#visualstudio2026 #testing #visualstudio

Read the whole story
alvinashcraft
17 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Official Aspire Integration for .NET MAUI is here!

1 Share
From: Gerald Versluis
Duration: 25:34
Views: 308

With the official Aspire integration for .NET MAUI you can now greatly improve your inner dev loop for MAUI apps. With service discovery you can let your MAUI apps detect your backend services automatically, get all kinds of tracing and logging through open telemetry and how about all this data being presented in a nice to look at dashboard?

Everything you need to know, right here in this overview video.

💝 Join this channel to get access to perks:
https://www.youtube.com/channel/GeraldVersluis/join

🛑 Don't forget to subscribe to my channel for more cool content: https://www.youtube.com/GeraldVersluis/?sub_confirmation=1

🔗 Links
.NET MAUI Samples Repository: https://github.com/dotnet/maui-samples
Join MAUIverse Discord: https://mauiverse.net/discord

⏱ Timestamps
00:00 - Official MAUI Integration for Aspire is here!
01:15 - Better and Faster Inner Dev Loop for MAUI apps
02:38 - Microsoft Learn Samples Browser
03:46 - MAUI Aspire Integration Sample Project Overview
05:21 - Aspire AppHost
12:57 - Run Aspire Orchestration with Aspire CLI
14:46 - Aspire Dashboard
18:25 - Console, Structured Logs, Tracing and Metrics
19:06 - Service Discovery for MAUI projects
21:49 - Get .NET MAUI SDK performance information
24:33 - Let us know your feedback!

🙋‍♂️ Also find my...
Blog: https://blog.verslu.is
All the rest: https://jfversluis.dev

#aspire #dotnetmaui #dotnet

Read the whole story
alvinashcraft
17 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Construction, Coding, and Work Life Balance - Jamon's Journey in Software Development

1 Share

In this episode, I sat down with Jamon Holmgren, co-founder and CTO of Infinite Red, to talk about his unconventional journey from framing homes in the rain to building a thriving software consultancy. Thanks so much for the discussion, Jamon!

----You can find Jamon at:

- Website: https://jamon.dev/

- Into the Dawn: https://store.steampowered.com/app/4055780/Into_the_Dawn/

- Twitter: https://x.com/jamonholmgren

- Jammin Games on Twitter: https://x.com/jammingames

- React Native Radio: https://x.com/ReactNativeRdio

----

🎥 Channels:


🔑 Membership & Subscriptions:


🧠 Courses:


🗣️ Social Media & Links:





Download audio: https://anchor.fm/s/f7b5ab38/podcast/play/111608887/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2025-10-24%2F413036704-44100-2-ee4d2c95d0cca.mp3
Read the whole story
alvinashcraft
18 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Beyond the hype: turning Microsoft 365 Copilot and agents into real business outcomes

1 Share

Microsoft Ignite 2025 in San Francisco was an electrifying gathering that brought together over 30,000 tech professionals, business leaders, and innovators from around the globe. This year’s event set a bold tone for the future, spotlighting the transformative role of Copilot and agents in modern workplaces and unveiling a wave of advancements across the Microsoft 365 ecosystem. The energy on the ground reflected both the excitement and the urgency of this new era, making it clear: Microsoft 365 Copilot and agents are not just the future—they are redefining the way companies get work done today.   

 

As I spoke with partners and customers, I was inspired by how organizations are embracing these tools to unlock new ways of working and developing rich business solutions. I want to take a moment to reflect on some of my highlights from the event.  

Extend familiar management infrastructure to agents with Microsoft Agent 365 

Over the last week, I heard time and time again how business leaders are embracing the Frontier Firm wave, steering their organizations toward partnering people with agents across every workflow. Thousands of agents are already automating business processes, and by 2028 IDC projects* there will be 1.3 billion in circulation. For enterprise customers, this will bring a massive new digital workforce to manage

 

As agents get added to every workflow and become more capable, some business leaders have expressed concerns about how to accelerate AI innovation securely. Microsoft Agent 365 turns this challenge into an opportunity. Operating as a control plane for AI agents, Agent 365 extends the existing infrastructure used to manage people to also manage agents, equipping them with the same apps, protections, and context.

 

For IT leaders, Agent 365 gives organizations a single platform to deploy, govern, and organize agents, transforming them from isolated actors into an integrated part of business operations. Agent 365 helps protect and manage agents across the organization by unifying DefenderEntra, and Purview, and provides a single view of their entire agent fleet with the Microsoft 365 admin center. To ensure agents have the context they need to provide the most accurate results, Agent 365 connects Microsoft 365 apps and Semantic Index through WorkIQ 

 

For organizations ready to take advantage of this unified foundation, Agent 365 will offer a robust ecosystem. For example, Microsoft agents like the new, fully autonomous Sales Development Agent; partner agents from Adobe, Cognition, Databricks, Genspark, Glean, Kasisto, Manus, NVIDIA, n8n, SAP, ServiceNow, Workday, and more; and open-source agents from Anthropic, Cursor, LangChain, OpenAI, Perplexity, and Vercel. For developers looking to build their own Agent 365-compatible agents, they can start with Copilot Studio or Microsoft Foundry. For deeper integrations, Microsoft Agent Framework or Agent 365 SDK enable unified discovery, governance, and collaboration across Microsoft 365. 

 

Simplify HR and IT support with the Employee Self-Service agent 

Another impactful way businesses are integrating agents into operational workflows is by replacing fragmented employee-support systems for HR or IT tasks. At Ignite, we announced the general availability of the Employee Self Service (ESS) agent, which brings AI-powered service delivery directly into Microsoft 365 Copilot to improve HR and IT employee support scenarios. Within Copilot, employees can ask questions, submit requests, and complete routine tasks in one trusted place without disrupting workflow.  

 

Natively built into Copilot Studio, the ESS agent provides a customizable foundation for intelligent employee service. It works with HR and IT systems such as Workday, ServiceNow, and SAP SuccessFactors and can easily be expanded through low-code extensions, connectors, and integrations with enterprise systems. Employees can tailor workflows, embed organizational knowledge, and adapt the experience to match their organization’s systems, resulting in a faster and more connected support experience. 

Frontier Firms in action: Turning AI innovation into business outcomes 

On Thursday, I hosted a panel session with leaders from several enterprise customers who are well on the path to becoming Frontier Firms:   

  • Sean Alexander, SVP, Connected Ecosystem, Lumen 
  • Tim Holt, VP, Health Answers Tech Lead & Architect, Pfizer 
  • Mona Riemenschneider, Head of Global Communications, GenAI, BASF 
  • John Whittaker, Director, AI Platform & Products, Ernst & Young 

 

Two themes emerged from our panel discussion. First, the most successful organizations are moving from experimentation to operationalization, developing agent-specific KPIs, governance structures, and more. These are not science experiments, but production tools already embedded directly into some of the world’s most complex enterprises. For example, Pfizer is leveraging Copilot Studio at scale with over 300 agents deployed across their organization, including a specialized agent that provides continuous manufacturing improvement with prioritized opportunities across the supply chain.  

 

Second, leaders on the panel emphasized that the future of work is human-led and agent powered. At Lumen, they’ve developed a declarative agent that synthesizes internal data, external filings, and real-time insights to generate tailored executive briefings, reducing cognitive load and surfacing the context needed to prepare for partner and customer meetings. At BASF Agricultural Solutions, they’re using a Copilot agent to transform global corporate communication efficiency. The Copilot agent streamlines the compilation of internal and external communication messages, efficiently and securely, resulting in significant time savings.  

 

"If 2025 was the year of the agent, then 2026 will be the year of the agents," said EY’s John Whittaker. “That’s where I think we’re going to see the consolidation of processes into far faster, more real-time, improved outcomes.”  

Learn how partners and customers are already unlocking new value with AI agents 

It’s exciting to see how our rich ecosystem of customers and partners are using Microsoft technology to create their own agents to solve real-world challenges, accelerate transformation, and scale human-agent collaboration.  

 

Ignite 2025 featured several Microsoft partners and customers who are building innovative agents, designed to work with Microsoft 365 Copilot to help save time, boost productivity, and accelerate business transformation.  

 

  • ADP - The ADP Assist agent for Microsoft 365 Copilot is purpose-built to support HR and will simplify payroll tasks by bringing key workflows into Copilot Chat and Microsoft Teams. Employees will be able to check time-off balances, review pay statements, and confirm direct deposit settings, all without leaving their flow of work. 
  • Blue Yonder - Blue Yonder Inventory Ops for Microsoft 365 Copilot automates demand forecasting using advanced machine learning and generates optimized, constraint-based supply plans covering production, distribution, and procurement to meet business objectives and enhance planner productivity. 
  • Freshservice - Freddy AI Agent now integrates seamlessly with Microsoft Copilot, bringing instant IT and support assistance into Word, Outlook, Teams, and more. This deep integration boosts adoption, eliminates context switching, and empowers employees to resolve issues effortlessly inside their everyday Microsoft 365 tools. 
  • monday.com - monday.com has integrated its MCP server with Microsoft Copilot both as a ready-to-use agent in the Agent Store and as a "Tool" for users to build custom agents on Copilot Studio. Users can now directly access their monday.com data, surface boards and items, or even update statuses directly within their Teams app or Microsoft 365. 
  • Sophos - Sophos Intelix will integrate real-time threat intelligence into Microsoft 365 Copilot, empowering IT teams and business users to check links and files, and make faster, more informed security decisions while democratizing enterprise-grade cybersecurity insights within everyday Microsoft 365 workflows. 
  • Wipro – Wipro has implemented Copilot-powered agents across sales, procurement, finance, and talent functions, enhancing knowledge access and decision-making to drive faster, more accurate, and consistent business operations. 

 

These aren’t the only incredible agents helping businesses. Thousands more are available in Microsoft Marketplace, where partners like the ones below are already reaching customers at scale.  

Shape the future of work with AI agents 

What inspires me most coming out of Ignite 2025 is seeing how customers and partners are already building the foundation of their Frontier Firms—people and agents working together to transform productivity and decision-making. This shift is no longer theoretical, it’s happening now across industries, powered by Copilot. To learn more about agents in Copilot and gain access to Microsoft resources, follow the links below.   

 

*IDC Info Snapshot, sponsored by Microsoft, 1.3 Billion AI Agents by 2028, #US53361825 and May 2025
Read the whole story
alvinashcraft
18 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Observability in Foundry Control Plane: Empowering Developers to Evaluate and Optimize AI Agents

1 Share

As organizations accelerate their adoption of AI agents, the need for robust observability has never been greater. At Microsoft Ignite, we introduced Observability in Foundry Control Plane - a comprehensive and enhanced suite of tools that empowers teams to evaluate, monitor, and optimize the quality, performance, cost and safety of multi-agent AI systems across their entire lifecycle. Watch “Monitor, optimize and scale with AI Observability Microsoft Foundry” session, where we demonstrate how to get end-to-end observability for your AI agents.

 

During the above session, CarMax—a leading automotive retailer—explained how they use Observability features in Microsoft Foundry to monitor, troubleshoot, and improve the performance of their AI agent, Skye.

 

“CarMax uses Microsoft Foundry not just for evaluations, but as a foundation for agentic observability. Every interaction from our agent Skye is captured, analyzed, and scored through a mix of out-of-the-box and custom evaluators, giving us deep visibility into how agents perform across safety, compliance, and quality metrics. This observability enables proactive monitoring, faster iteration, and confidence that our multi-agent architecture operates responsibly and effectively. We are excited to explore the ability to get fleet-wide observability in one view with Foundry Control Plane”

Abhi Bhatt, Data & AI Engineering, CarMax

 

Why Observability Matters for AI Agents

AI agents are inherently non-deterministic, their outputs can vary, and even small changes in input or configuration can lead to unexpected results. This unpredictability, combined with the high stakes of deploying AI in customer-facing and regulated environments, makes continuous evaluation and monitoring essential. Observability is the foundation for building trust and reliability in AI systems.

 

Get Complete Visibility into All your Agents Throughout their Lifecycle

Observability in Foundry Control Plane addresses these challenges with a comprehensive suite of observability tools, including:

  • Comprehensive evaluation: Build robust agents with out-of-the-box and custom evaluators, synthetic datasets, continuous evaluations and built-in cluster analysis of evaluation results pinpointing problematic areas. Evaluation can be run in the playground, on test datasets in CI/CD pipelines, continuously on production traffic or on a schedule to detect drift.
  • Unified monitoring dashboards: Track agent cost, performance, and safety with customizable dashboards and actionable insights.
  • End-to-end tracing: Debug issues with OpenTelemetry-based tracing, following every agent run from input to tool call.
  • Fleet-wide oversight: Observe agents built on Foundry and third-party platforms, plus agents built with popular agent frameworks (Microsoft Semantic Kernal, LangChain, LangGraph, OpenAI, etc.) in a single view.
  • AI Red Teaming Agent: Continuously test and harden generative AI systems against real-world risks, automating red-teaming runs for ongoing safety.

The above observability tools are integrated throughout the agent lifecycle - from prototyping in playground, monitoring and optimizing in production and managing a fleet of agents. Plus, all evaluations, traces, and red-teaming results are published to Azure Monitor,  where agent signals are correlated with the KPIs of dependent AI infrastructure and other app signals to deliver an end-to-end operational picture.

 

Step 1: Accelerate Reliable Agent Development with Integrated & Continuous Evaluations

Rapidly developing robust AI agents requires more than just code—it demands continuous evaluation and feedback. Observability in Foundry Control Plane integrates evaluations directly into the agent playground, offering:

  • A comprehensive set of out-of-the-box quality, risk, and safety evaluators
  • The ability to create custom evaluators tailored to your use cases
  • Human evaluation for supplemental measurements
  • Built-in synthetic datasets and recommended evaluators (new at Ignite) to streamline evaluation creation
  • Cluster analysis for evaluations, providing visual insights that help developers quickly identify patterns and mistakes, and take recommended actions to improve their agents

These capabilities empower teams to build production-grade AI with confidence and speed, reducing time-to-value and minimizing risk.

 

Accelerate reliable agent development with built-in evaluations and tracing

 

Step 2: Monitor and Optimize Agents with Actionable Insights in Production

Once agents are in production, continuous monitoring and optimization are essential. Foundry Control Plane provides:

  • Out-of-the-box, customizable monitoring dashboards to track agent cost, performance, evaluation results, and red-teaming scans
  • End-to-end tracing which is OpenTelemetry (OTel) compliant, enables teams to trace every agent run and evaluation result—from agent calls and LLM inference to individual tool calls
  • Actionable insights for debugging and optimization, including a curated model upgrade experience to improve cost and performance
  • AI Gateway for granular control of model, agent, and tool usage, ensuring performance and cost management

With these tools, teams can proactively detect issues, optimize agent behavior, and ensure their AI systems deliver value reliably and efficiently.

 

Agent monitoring dashboard showing cost, performance and safety metrics in one view

 

Step #3: Get Unified Observability Across Your Fleet of Agents—On Any Platform

Modern organizations often deploy agents across multiple platforms and frameworks. Foundry Control Plane delivers unified oversight by:

  • Enabling teams to register, observe and evaluate all agents—regardless of where they were built—within one unified observability solution.
  • Supporting agents built on Foundry and third-party platforms (including Microsoft Agent Framework, LangChain, and LangGraph) via OTel-compliant traces.
  • Providing a single view of cost, performance, red-teaming scan results, and alerts across your entire agent fleet in the Operate experience

This fleet-wide visibility ensures consistent governance, compliance, and operational excellence, even in complex, heterogeneous environments.

 

Observe all your agents in one place - built in Foundry or third-party agents

Conclusion

With Observability in Foundry Control Plane, organizations can confidently evaluate, monitor, and optimize every agent—across platforms and at scale. Whether you’re building your first agent or managing a global fleet, these capabilities provide the visibility and control needed to deliver production-grade AI responsibly. Refer to the Observability in Foundry Control Plane webpage and documentation for more information.

Read the whole story
alvinashcraft
18 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Securing Apps with the Telerik UI for ASP.NET Core OTP Control

1 Share

In this article, we will analyze how to use the Telerik UI for ASP.NET Core OTPInput control, which allows users to enter a one-time password (OTP) during multi-factor authentication in an intuitive manner. Let’s get started!

What Is the ASP.NET Core OTPInput Control?

The purpose of this control is to provide enhanced security to applications while offering a pleasant user experience when requesting a one-time password. It can be used both as a TagHelper and with an HtmlHelper, which are wrappers for the Kendo UI OTPInput widget.

Some use cases where we could utilize this control include (among many other cases):

  • Multi-factor authentication
  • Verification during password reset
  • Transaction authorization
  • Access to restricted areas on websites

This control can be customized in terms of appearance, input type, number of elements to request, groups in the input and even the type of virtual keyboard that should be displayed if viewed from a mobile device.

Integrating the OTPInput control into an ASP.NET Core project

Imagine we are creating a page to validate a six-digit OTP code. One of the first things you might think of to create it would be to use an input tag with some preset values, such as a maximum length of six characters.

If you want to replicate the demonstrations in this article, you should create a new project using the ASP.NET Core Web App (Razor Pages) template. You should also make sure to follow the Telerik UI for ASP.NET Core controls installation guide to have the environment ready and set up.

Once that is done, replace the content of the index.cshtml file with the following:

@page

@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<style>
    .verification-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 5rem;
    }

    .verification-form {
        max-width: 320px;
        gap: 1.5rem;
        width: 100%;
        padding: 2rem;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        display: flex;
        flex-direction: column;
        align-items: center;
    }

        .verification-form input {
            width: 100%;
            padding: 0.75rem;
            font-size: 1rem;
            margin-bottom: 1.5rem;
            border: 1px solid #ccc;
            border-radius: 4px;
        }

        .verification-form kendo-button {
            width: 100%;
            font-size: 1rem;
        }
</style>

<div class="verification-container">
    <h2>Two-Factor Verification</h2>
    <p>Please enter the 6-digit code sent to your email:</p>

    <form asp-action="VerifyCode" method="post" class="verification-form">
        <input type="text" name="otpCode" maxlength="6" placeholder="Enter the code" />
        <kendo-button name="btnVerify" type="submit" theme-color="ThemeColor.Primary">
            Verify
        </kendo-button>
    </form>
</div>

The above code specifies a form section within which we add an input and a kendo-button to simulate the submission of the code. The execution of the code looks like this:

Using an input field to enter an OTP code, which tends to be unreliable

You can see that with this approach we face several issues:

  • The user can enter any character.
  • If the OTP code were grouped, the interface is not intuitive for the user to recognize them.
  • It is likely that on mobile devices, the virtual keyboard that appears is not the correct one.

In these cases, the ASP.NET Core OTPInput control from Telerik is the best option as it easily addresses all these problems, as we will see next.

Changing the Input Control for an OTPInput

To replace the input element with an OTPInput, we need to consider the type of project we are building to choose between using a HtmlHelper, TagHelper or even pure Html. In my case, since the example is based on Razor pages, I will be using TagHelper elements. Given that, the simplest creation of the control would look as follows:

<form asp-action="VerifyCode" method="post" class="verification-form">        
    <kendo-otpinput name="optCode" items="6"></kendo-otpinput>
    <kendo-button name="btnVerify" type="submit" theme-color="ThemeColor.Primary">
        Verify
    </kendo-button>
</form>

The result of the change is as follows:

Replacing an input element with Telerik's OTPInput control

We can see that the definition of the control is quite straightforward, showcasing the new component in the graphical interface with a modern, aesthetic and functional design. The control automatically centers the focus on the corresponding box, providing an intuitive user experience.

Moreover, through the use of the items configuration, it has been very easy to indicate the number of characters the user needs to fill in, which results in a control on the UI with the ideal layout so users know at all times which item they are filling in and how many are left.

Another attribute we have assigned to the control is name, which is mandatory as it sets the HTML attributes id and name behind the scenes.

One issue we can see in the previous image is that the user can still enter any type of character in the text boxes. Fortunately, the control allows us to change this easily, which we will see next.

Forcing Numeric Input

We can change the data type entered into the control by using the type configuration, to which we can assign one of the following values:

  • OTPType.Number: Allows entry only of numeric characters
  • OTPType.Text: Allows entry of characters in general
  • OTPType.Password: Allows converting characters to a password format

In our case, the most convenient method to validate an authentication code will be to limit the input to numeric values, so the definition would look as follows:

<form asp-action="VerifyCode" method="post" class="verification-form">        
    <kendo-otpinput name="optCode" items="6" type="OTPType.Number"></kendo-otpinput>
    ...
</form>

When running the application, we obtain the following result:

Restricting input to numeric characters in the OTPInput control using the type setting

In the previous image, you can notice that when trying to enter a non-numeric character, the user receives immediate feedback indicating that the character is invalid.

Creating Groups in Character Input

If the OTP code to be entered requires some sort of visual grouping due to its length, it is very easy to create groups of items and even add separators between them. For example, let’s assume that the OTP code is composed of 8 digits, grouped as 3-2-3 items. To achieve the above grouping, the items configuration should be used as follows:

<form asp-action="VerifyCode" method="post" class="verification-form">        
    <kendo-otpinput name="optCode" type="OTPType.Number">
        <otpinput-items>
            <item group-length="3"/>
            <item group-length="2" />
            <item group-length="3" />
        </otpinput-items>
    </kendo-otpinput>
    ...
</form>

The result of the above code can be seen in the following image:

Configuring digit grouping in the OTPInput control

In the image, the creation of groups according to the specified configuration is visible.

Likewise, if you need to show the separation between the groups better, it is possible to add visual separators using the separator configuration as shown below:

<form asp-action="VerifyCode" method="post" class="verification-form">        
    <kendo-otpinput name="optCode" type="OTPType.Number" separator="-">
        <otpinput-items>
            <item group-length="3"/>
            <item group-length="2" />
            <item group-length="3" />
        </otpinput-items>
    </kendo-otpinput>
    ...
</form>

This provides a better representation of the groups, as shown below:

Adding visual separators between digit groups in the OTPInput control

Customizing the OTPInput Control

If you need to customize the OTPInput to fit the visual design of your application, the series of customization settings will allow you to modify the size, color application and border radius of the component.

To change the size, simply use the size option with one of the following values:

  • ComponentSize.Small
  • ComponentSize.Medium
  • ComponentSize.Large
  • ComponentSize.None

If you want to change how the color is applied to the component, you can use the fill-mode option with one of these values:

  • FillMode.Solid
  • FillMode.Outline
  • FillMode.Flat
  • FillMode.None

Lastly, you can modify the rounded option to change the border radius of the component by assigning one of the following values:

  • Rounded.Small
  • Rounded.Medium
  • Rounded.Large
  • Rounded.Full
  • Rounded.None

In the following example, the usage of all these properties is demonstrated:

<kendo-otpinput name="optCode" type="OTPType.Number" separator="-"
    size="ComponentSize.Large"
    fill-mode="FillMode.Solid"
    rounded="Rounded.Full">
    ...
</kendo-otpinput>    

The above code results in the control being displayed as follows:

Personalizing the OTPInput control through its customization settings

Finally, it is possible to specify which keyboard should appear when using a mobile device. By default, when the application is run, the virtual keyboard that appears is the one shown in the following image:

The default virtual text keyboard shown on mobile devices

If you want to change the keyboard, you can use the input-mode option by assigning any valid HTML5 input mode, for example, text, numeric, tel, etc. In the following example, I specified that the keyboard to be displayed is the numeric one:

<kendo-otpinput name="optCode" type="OTPType.Number" separator="-"
    size="ComponentSize.Large"
    fill-mode="FillMode.Solid"
    rounded="Rounded.Full"
    input-mode="numeric">
    ...
</kendo-otpinput>

The previous change shows the numeric keyboard when starting to fill in the OTPInput control:

Displaying a numeric virtual keyboard on mobile devices using the inputmode attribute

Events in the OTPInput Control

The OTPInput control provides the Change event that allows you to control the behavior of the component. For example, you could validate whether all items have been filled before enabling a submit button. You can accomplish this through a Handler Name or a Template Delegate. Below is an example of its usage:

<div class="verification-container">
    <h2>Two-Factor Verification</h2>
    <p>Please enter the 6-digit code sent to your email:</p>

    <form asp-action="VerifyCode" method="post" class="verification-form">        
        <kendo-otpinput ... on-change="onChange">
            ...
        </kendo-otpinput>
        <kendo-button name="btnVerify" type="submit" theme-color="ThemeColor.Primary">
            Verify
        </kendo-button>
    </form>
</div>

<script>
    function onChange() {
        console.log("Change :: " + this.value());
    }
</script>

When executing the above code, we obtain the following result:

Handling the onChange event to display the current value of the OTPInput control

Undoubtedly, this event can greatly assist us in performing pre-validation before submitting the information.

Conclusion

Throughout this article, you have learned what the Telerik UI for ASP.NET Core OTP control is and some use cases. You have also learned how to configure it to meet your business and design needs through customization settings and item adjustments. Now it’s your turn to enhance the security of your applications by implementing it when you need to validate one-time passwords.

If you haven’t already begun using Telerik UI for ASP.NET Core, it comes with a free 30-day trial:

Try Now

Read the whole story
alvinashcraft
18 minutes ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories