<MyRusakov.ru />

Создание игр на Unreal Engine 5

Создание игр на Unreal Engine 5

Данный курс научит Вас созданию игр на Unreal Engine 5. Курс состоит из 12 модулей, в которых Вы с нуля освоите этот движок и сможете создавать самые разные игры.

В курсе Вы получите всю необходимую теоретическую часть, а также увидите массу практических примеров. Дополнительно, почти к каждому уроку идут упражнения для закрепления материала.

Помимо самого курса Вас ждёт ещё 8 бесплатных ценных Бонусов: «Chaos Destruction», «Разработка 2D-игры», «Динамическая смена дня и ночи», «Создание динамической погоды», «Создание искусственного интеллекта для NPC», «Создание игры под мобильные устройства», «Создание прототипа RPG с открытым миром» и и весь курс «Создание игр на Unreal Engine 4» (актуальный и в 5-й версии), включающий в себя ещё десятки часов видеоуроков.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Валидация данных в C# с помощью библиотеки FluentValidation

Валидация данных в C# с помощью библиотеки FluentValidation

Доброго времени суток! В данной статье мы рассмотрим с Вами как можно провести проверку введенных пользователем данных (валидацию) в C# с помощью библиотеки FluentValidation.

Итак, для начало необходимо создать консольный проект в среде Visual Studio, а после установить пакет FluentValidation через менеджер пакетов Nuget.

Теперь в файл программы Program.cs добавим следующий исходный код:


using System;
using System.Text.RegularExpressions;
using FluentValidation;

namespace C_Sharp_Validation_ConsoleApp
{
    // класс заказа, данные которого мы будем проверять
    // предполагается, что он заполнен из данных, введенных пользователем в некоторой форме
    // форма может быть представлена как веб- так и графическим интерфейсом
    class Order
    {
        // в данные свойства записываются значения пришедшие от пользователя
        public readonly string Id;
        public readonly string State;

        // конструктор класса, тело которого определено через лямбда-выражение
        public Order(string id, string state) => 
            (this.Id, this.State) = (id, state);


        public override string ToString() =>
            $"Order(Id={Id};State={State})";
    }


    // любой пользовательский валидатор должен быть унаследован 
    // от абстрактного класса  AbstractValidator<T>, где T - это тип класса, свойства которого мы будет
    // проверять на соответствие правилам (Rules)
    class OrderValidator : AbstractValidator<Order>
    {
        // правила валидации определяются в конструкторе класса
        public OrderValidator()
        {
            // правило для (RuleFor) свойства Order.Id (идентификатор заказа) - не должно быть пустым значением (NotEmpty)
            // минимальная длина значения должна составлять 10 символов
            // значение должно начинаться с подстроки id********
            RuleFor(order => order.Id).NotEmpty().MinimumLength(10).Matches(new Regex("^id.*"));

            // правило для страны заказа - просто не должно быть null значением
            RuleFor(order => order.State).NotNull();
        }
    }

    internal class Program
    {
        static void Main(string[] args)
        {
            // создаем класс валидатора заказа
            var validator = new OrderValidator();

            // создаем тестовые заказы, первый верный, второй с ошибкой
            var user1 = new Order("id123456789", "USA");
            var user2 = new Order("321221212", "GB");


            // проводим тестирование
            ShowUser(user1, validator);
            ShowUser(user2, validator);
        }


        static void ShowUser(Order order,  OrderValidator validator)
        {
            // здесь бы берем объект заказа и проводим его валидацию
            var res = validator.Validate(order);

            // если после проверки нет ошибок
            if(res.IsValid)
            {
                Console.WriteLine($"Объект ({order}) не содержит ошибок");
            }
            else
            {
                // в противном случае, если есть ошибки  
                // просто выводим их в консоль
                foreach (var item in res.Errors)
                {
                    Console.WriteLine(item);
                }
            }
        }
    }
}



Таким образом, вот так просто с помощью C# библиотеки FluentValidation можно проверить данные на корректность, причем как видно из примера выше правила валидации добавляются одно за другим в соответствии с шаблоном Fluent Interface (Текучий интерфейс).

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.